1、选择排序的基本思路(1):一个n个元素的数组里存储n个无序数据;排序时把数组看成两个部分,有序和无序;使用选择法进得排序的时候,每一趟(即第i趟)在n-i+1(i=1,2......n-1)个数据中选取值最小的数据作为有序部分中第i个数据,而无序部分的数据会逐渐减少;这样选择了n-1趟之后,可以区分出无序区中所有的数据,实现数组中存放的数据排序。
2、选择排序的基本思路(2):以6个数4,8,6,7,9,1为例。第一趟:在数组中无序部分找出最小数的下标茑霁酌绡h,然后实现a[h]和a[0]交换。这样,有序部分含有一个元素,,而无序部分则减少一个元素。第二趟:数组中无序部分找出剩下的最小数的下标h,然后实现a[h]和a[1]交换。这样,有序部分又增加了一个元素,而无序部分的元素个数则在逐渐减少。以此类推,选择5趟以后,无序部分只含有一个元素,则自动成为有序部分中的元素了,整个策略得以实现。
3、编程思想(1):声明数组a,并存放8个元素,分别为a[0]~a[7]。
4、编程思想(2):利用循环的嵌套来解决问题。每一趟工到一个数据最小的元素,因此8个数据只需寻找7趟就可以完成排序,所以外循环共7趟;如下图,a.length-1代表7趟.
5、编程思想(3):内层循环的功能分别为查找8个数的最小值下标、查找7个数最小值的下标......查找2个数最小值的下标。因此内循环的次数分别8,7,6......最后一直到1。如下图
6、编程思想(4):使用for循环输出排序后的数据。