摘要:
1.插入排序插入排序逐个处理待排序的记录,每个新纪录与前面已排序的子序列进行比较,将它插入到子序列中正确的位置。void InsertSort(SqList &L){ for(int i=1;i<L.Len;i++) for(int j=i;(j>0)&& (L[j].key<L[j-1].key);j--) swap(L[j],L[j-1]);}最好情况?已按从小到大正序排列,不进入j--的内循环中,总的比较次数为n-1次,所以时间代价为O(n)。最坏情况?逆序排列,每次j的内循环移动到子序列的最前端,每次内循环次数为i,所以总的处理次数为∑i=O( 阅读全文