引论
选择排序也是一种非常简单的排序算法,它的思想是:依次找出无序数组中的最小值,然后把它放到已排序的数据的后面。
算法的时间复杂度为O(N^2)。另外选择排序是不稳定的。排序算法的不稳定是指,当待排序的数组中有相等元素时,当运行排序算法后,这组相等元素的位置发生改变,则称算法为不稳定的。当然稳不稳定对最终结果没多大意义
例子
未排序序列:【39,28,51,62,78,9,25,36】
第一次排序:【9,28,51,62,78,39,25,36】
第二次排序:【9,25,51,62,78,39,28,36】
第三次排序:【9,25,28,62,78,39,51,36】
第四次排序:【9,25,28,36,78,39,51,62】
第五次排序:【9,25,28,36,39,78,51,62】
第六次排序:【9,25,28,36,39,51,78,62】
第七次排序:【9,25,28,36,39,51,62,78】
代码实现
1 | void SelectSort(ElementType A[], int N) |