1.冒泡排序
int a[] = { 2, 1, 4, 5, 7, 8, 9, 3, 6, 10 };
int temp, length = a.length;
for (int i = 0; i < length - 1; i++) {
for (int j = i + 1; j < length; j++) {
if (a[i] > a[j]) {
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
for (int i : a) {
System.out.println(i + "");
}
2.选择性排序
int temp, length = a.length;
for (int i = 0; i < length - 1; i++) {
int min = i;
for (int j = i + 1; j < length; j++) {
if (a[min] > a[j]) {
min = j;
}
}
if (i != min) {
temp = a[min];
a[min] = a[i];
a[i] = temp;
}
}
for (int i : a) {
System.out.println(i + "");
}
3.插入排序
int temp, j, length = a.length;
for (int i = 1; i < length; i++) {
temp = a[i];
for (j = i; j > 0 && temp < a[j - 1]; j--) {
a[j] = a[j - 1];
}
a[j] = temp;
}
for (int i : a) {
System.out.print(i + " ");
}
4.快速排序
private static void quickSort(int[] a, int start, int end) {
if (start < end) {
int base = a[start];
int temp;
int i = start, j = end;
do {
while ((a[i] < base) && (i < end)) {
i++;
}
while ((a[j] > base) & (j > start)) {
j--;
}
if (i <= j) {
temp = a[i];
a[i] = a[j];
a[j] = temp;
i++;
j--;
}
} while (i < j);
if (start < j) {
quickSort(a, start, j);
}
if (end > i) {
quickSort(a, i, end);
}
}
}
quickSort(a, 0, a.length-1);
for (int i : a) {
System.out.print(i + " ");
}