冒泡吐血
public static void maopao(int data[]) {
System.out.print("吐血前: ");
for (int a : data) {
System.out.print(a + " ");
}
int swap = 0;
int j = data.length;
while (j-- > 0)
for (int i = 0; i < j; i++) {
if (data[i + 1] > data[i]) {
swap = data[i + 1];
data[i + 1] = data[i];
data[i] = swap;
}
}
System.out.print( "\n吐血后:");
for (int a : data) {
System.out.print(a + " ");
}
}
插入吐血
public static void insertSort(int data[]) {
System.out.print("吐血前:");
for (int a : data) {
System.out.print(a + " ");
}
for (int i = 1; i < data.length; i++) {
int j = i - 1;
int key = data[i];
while (j >= 0 && data[j] > key) {
data[j + 1] = data[j];
j--;
}
data[j + 1] = key;
}
System.out.print("\n吐血后:");
for (int a : data) {
System.out.print(a + " ");
}
}
快速排序
public static int[] fastSort(int data[], int low, int high) {
if (low >= high) {
return data;
}
int start = data[low];
int i = low, j = high;
int temp;
while (i < j) {
//fix bug >= not >
while (data[j] >= start && i < j) {
j--;
}
//fix bug <= not <
while (data[i] <= start && i < j) {
i++;
}
if (i < j) {
temp = data[i];
data[i] = data[j];
data[j] = temp;
}
}
data[low] = data[i];
data[i] = start;
fastSort(data, low, i);
fastSort(data, i + 1, high);
return data;
}