几个排序算法的实现代码,具体的原理可查看数据结构教科书,这里主要是为了自己时常回顾,方便面试。
void InsertionSort(ElementType A[], int N) { /* 插入排序 */ int P, i; ElementType Tmp; for(P=1; P<N; P++)//不断加入新的元素,在前面已经排好序的序列 { //中找到它应该被插入的位置 Tmp = A[P]; //下标i为试探新元素P应该放置的位置 //从后往前试探,0位置不用试探,如果到达了0位置,直接停下来 //不用判断,已经找到了,至于除0以外的其它位置,试探时需要加上判断条件 for(i=P; i>0 && A[i-1]>Tmp; i--) A[i] = A[i-1]; A[i] = Tmp; } }