选择排序算法
基本介绍
选择排序属于内部排序,
是从要排序的序列中,按照指定的规则选出一个元素,再依照规定交换位置后达到排序的目的;
基本思想
1>.选择排序也是一种简单的排序方法.它的基本思想是:
第一次从arr[1]~arr[n-1]序列中选取最小值与arr[0]交换,
第二次从arr[2]~arr[n-1]中选取最小值,与arr[1]交换,
第三次从 arr[3]~arr[n-1]中选取最小值,与 arr[2]交换,…
…
第n-1 次从 arr[n-1]~arr[n-1]中选取最小值,与arr[n-2]交换,
总共通过 n-1 次,得到一个按排序码从小到大排列的有序序列;
每一趟获取值最小的元素的思路:
将每一趟的起始元素(假设起始元素是最小的)与本趟的其他元素进行比较,如果后面的其他元素值有比这个起始元素值还小的,那么后面的那个元素就是最小的,然后从刚刚找到的这个(值最小)元素开始,继续和后面剩余的元素进行比较...最终得到本趟排序中值最小的一个元素,将他和本趟排序的起始元素交换位置,那么下一趟排序这个(值最小)的元素就不参加了
第一趟从第一个元素开始遍历得到一个最小的值,往第一个位置放;
第二趟从第二元素开始遍历得到一个第二小的值,然后往第二个位置放;
第n-1趟从第n-1个元素开始遍历,得到一个第(n-1)小值,放在第n-1个位置;
第n个元素只剩下一个元素了,他就是最大了,不用管了,所以遍历次数为n-1