c\c++版
#include<stdio.h>
void bubble_sort(int *arr, int len)
{
for(int i = 0; i < len; ++i)
{
for(int j = 0; j < len - i - 1; ++j)
{
if(arr[j] > arr[j+1])
{
// 交换
arr[j] = arr[j+1] ^ arr[j];
arr[j+1] = arr[j+1] ^ arr[j];
arr[j] = arr[j+1] ^ arr[j];
}
}
}
}
python 版
def bubble_sort(l):
for i in range(len(l)):
for j in range(len(l) - i - 1):
if l[j] > l[j+1]:
l[j] = l[j + 1] ^ l[j]
l[j + 1] = l[j + 1] ^ l[j]
l[j] = l[j + 1] ^ l[j]
java 版
public static void bubbleSort(int[] arr) {
for (int i = 0; i < arr.length; ++i) {
for (int j = 0; j < arr.length - i - 1; ++j) {
if (arr[j] > arr[j + 1]) {
arr[j] = arr[j + 1] ^ arr[j];
arr[j + 1] = arr[j + 1] ^ arr[j];
arr[j] = arr[j + 1] ^ arr[j];
}
}
}
}
JavaScript版
function bubble_sort(arr) {
if (!arr instanceof Array) return;
for (let i = 0; i < arr.length; ++i) {
for (let j = 0; j < arr.length - i - 1; ++j)
if (arr[j] > arr[j + 1]) {
arr[j] = arr[j + 1] ^ arr[j]
arr[j + 1] = arr[j + 1] ^ arr[j]
arr[j] = arr[j + 1] ^ arr[j]
}
}
}