选择排序(Selection sort)和插入排序类似,插入排序将无序放在有序中去排列,而选择排序则是在无序中选择有序,去扩大有序。
顾名思义,就是在无序区中,每次选择最大(最小)放在排列好的最大(最小)中。
同样可以用嵌套for()来解决。
for(i=0; i<n; i++)
for(j=i+1; j<n; j++)
for(i)遍历所有元素,从中选择出最大(最小)的元素;
循环i次后,i个元素排好序,所以每次for(j)从i+1次位置出发。
参考学习
白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
http://blog.csdn.net/morewindows/article/details/6671824
性能分析
平均时间复杂度:O(n^2)
空间复杂度:O(1)
稳定性:不稳定