1.冒泡排序
/**
* 冒泡排序
* @param array
*/
public static void bubbleSort(int[] array) {
for (int i = 0; i < array.length-1; i++) {
for (int j = 0; j < array.length -1- i; j++) {
if (array[j] > array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
2.选择排序
/**
* 选择排序
* @param array
*/
public static void selectionSort(int[] array) {
for (int i = 0; i < array.length - 1; i++) {
for (int j = i+1; j < array.length; j++) {
if(array[i]>array[j]){
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
3.插入排序
/**
* 插入排序
* @param array
*/
public static void insertionSort(int[] array) {
for (int i = 0; i < array.length - 1; i++) {
for (int j = i + 1; j > 0; j--) {
if (array[j] < array[j-1]) {
int temp = array[j];
array[j] = array[j - 1];
array[j-1] = temp;
}else {
break;
}
}
}
}
4.快速排序
/**
* 快速排序
* @param array
* @param low
* @param high
*/
public static void quickSort(int[] array, int low, int high) {
int i = low;
int j = high;
if (low > high) {
return;
}
int temp = array[low];
while (i < j) {
while (array[j] >= temp && i < j) {
j--;
}
while (array[i] <= temp && i < j) {
i++;
}
int t = array[i];
array[i] = array[j];
array[j] = t;
}
array[low] = array[i];
array[i] = temp;
quickSort(array, low, j - 1);
quickSort(array,j+1,high);
}