选择排序的大致思路
假设我们是按从小到大的顺序排列的
我们先从数据中找出最小值,将这个最小值放在第一个,然后从剩下的数据中找出最小值,将最小值放在第二个,以此类推,完成排序
第一次排序:
假设最小值就是arr[0],然后遍历数组,如果发现比arr[0]还小,就记录这个下标help,然后将falg置为true,表示最后要交换数据,遍历到最后找到了这个最小值,提出下标,将最小值和arr[0]交换,完成第一次排序
第二次排序:
这次从第二个数字开始,也就是从arr[1]开始,假设arr[1]为最小值,然后按照上面的步骤操作,为什么要设立一个falg,如果arr[1]本身就是剩余部分的最小值,则不需要进行交换,下面的交换方法就不会执行。
按照这样的排序一一共进行arr.length-1次排序就完成了