1.简单选择排序
从数组的第一个元素开始遍历,将当前遍历的元素与后面的元素依次比较,记录下最小数的下标,每次循环将最小数移动到最前面。外循环结束,数组则有序。
实现代码:
public static void selectSort(int[] arr){
for(int i=0;i<arr.length-1;i++){
int min=i;
for(int j=i;j<arr.length;j++){
if(arr[j]<arr[min]){min=j;}
}
//将最小的元素放到未排序的第一个位置
int temp=arr[i];
arr[i]=arr[min];
arr[min]=temp;
}
}
}
2.堆排序
阅读文章堆排序的实现