选择排序
public static void selectionSort(int[] arr) {
if (arr == null || arr.length < 2) {
return;
}
for (int i = 0; i < arr.length ; i++) {
int minIndex = i;
for (int j = i + 1; j < arr.length; j++) {
minIndex = arr[j] < arr[minIndex] ? j : minIndex;
}
swap(arr, i, minIndex);
System.out.println(arr[i]);
}
}
插入排序
public static int[] insertSort(int [] arr) {
for(int i=1; i<arr.length; i++){
int temp = arr[i];//保存每次需要插入的那个数
int j;
for(j=i; j>0&&arr[j-1]>temp; j--){//这个较上面有一定的优化
arr[j] = arr[j-1];//吧大于需要插入的数往后移动。最后不大于temp的数就空出来j
}
arr[j] = temp;//将需要插入的数放入这个位置
}
return arr;
}
堆排序
public static void heapSort(int[] arr) {
if (arr == null || arr.length < 2) {
return;
}
f