选择排序
-
选择式排序也属于内部排序法,是从欲排序的数据中,按指定的规则选出某一元素,再依规定交换位置后,达到排序的目的。
-
选择排序的思想
- 第一次从arr[0]arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2]arr[n-1]中选取最小值,与arr[2]交换,…,第i次从arr[i-1]中选取最小值。与arr[i-1]交换,…,第n-1次从arr[n-2]arr[n-1]中选取最小值,与arr[n-2]交换,总共通过n-1次,得到一个按顺序码从小到大的有序序列。
- 每轮循环的开始时,都假定选取范围的一个数为最小值。
- 复杂,拆成简单,最后,再整合成复杂的。
-
选择排序的思路图解
-
假定有一个原始数组:101,34,119,1
1.第一轮排序:1,34,119,101
2.第二轮排序:1,34,119,101
3.第三轮排序:1,34,101,119
-
说明
1.选择排序一共有数组大小-1轮排序
2.每1轮排序,又是一个循环,循环的规则(代码)
- 先假定当前这个数是最小数
- 然后和后面的每个数进行比较,如果发现有比当前数更小的,就重新确定最小数,并得到下标
- 当遍历到数据的最后,就得到本轮最小数和下标
- 交换
-
-
选择排序应用实例
-
对10,34,19,100,80这组数,从高到低进行排序,测试效率的数据80000,看耗时。
排序前的时间是=2019-08-04 15:20:02 排序后的时间是=2019-08-04 15:20:07
-
排序时间大大减小
选择排序
-