最近都没时间写文章,想想还是得偶尔空出点时间来写文章学习点东西。
讲讲选择排序。
选择排序和冒泡排序都是比较基本的排序算法,下面就来简单说说选择排序的实现方法。
设数组的下标为[0…n-1],i=0。刚开始整个数组都处于无序状态,在无序区中找到一个最小的数放在第i个位置,则现在[0..i]处于有序区,i++并重复步骤,直到i==n-1,则排序完成。
源码部分
1 | void selectsort(int a[],int n) |
选择排序和冒泡排序的时间复杂度都是n^2,并且都是稳定的排序,但当数组长度过大时,效率反而低下。下次讲讲时间复杂度也是n^2的插入排序法。