13.排序的思想和优化
目录介绍
1.基本思想
- 很好理解,从字面意思就知道类似于冒泡。在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。
- 即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
2.排序过程
- 比较相邻的两个数据,如果第二个数小,就交换位置。
- 从后向前两两比较,一直到比较最前两个数据。最终最小数被交换到起始的位置,这样第一个最小数的位置就排好。
- 继续重复上述过程,依次将第2.3…n-1个最小数排好位置。
3.代码实现
- 如下所示
public static void sort(int arr[]) { int length = arr.length; int temp; for(int i=0 ; i<length-1 ; i++) { for(int j=0 ; j<length-1 ; j++) { if(arr[j]>arr[j+1]) { //元素互换 temp = arr[j];