一、冒泡
private static void bubbleSort(int[] a) {
for (int i = 0; i < a.length; i ++) {
for (int j = i + 1; j < a.length; j ++) {
if (a[j] < a[i]) {
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}
}
}
二、选择
private static void selectionSort(int[] a) {
for (int i = 0; i < a.length; i ++) {
int minIndex = i;
for (int j = i + 1; j < a.length; j ++) {
minIndex = a[j] < a[minIndex] ? j : minIndex;
}
int tmp = a[i];
a[i] = a[minIndex];
a[minIndex] = tmp;
}
}
三、插入
private static void insertionSort(int[] a) {
for (int i = 0; i < a.length; i ++) {
for (int j = i; j > 0 && a[j - 1] > a[i]; j --) {
int tmp = a[j];
a[j] = a[j - 1];
a[j - 1] = tmp;
}
}
}
四、异或
// 要确定a != b。a == b时 a ^ b == 0
int a = 5;
int b = 6;
a = a ^ b;
b = a ^ b;
a = b ^ a;