摘要:
原理:被称为增量缩小排序。先将序列按增量划分为元素个数相同的若干组,使用直接插入排序法进行排序,然后不断缩小增量直至为1,最后使用直接插入排序完成排序。要点:增量的选择以及排序最终以1为增量进行排序结束。实现:VoidshellSort(NodeL[],intd){While(d>=1)//直到增量缩小为1{Shell(L,d);d=d/2;//缩小增量}}VoidShell(NodeL[],intd){Inti,j;For(i=d+1;i<length;i++){if(L[i]<L[i-d]){L[0]=L[i];j=i-d;While(j>0&&L[ 阅读全文
posted @ 2012-09-20 19:34
laozhu1124
阅读(1332)
评论(0)
推荐(0)
摘要:
1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,最终将所有无序区元素都移动到有序区完成排序。要点:设立哨兵,作为临时存储和判断数组边界之用。实现:用C#源代码进行了实现VoidInsertSort(NodeL[],intlength){Inti,j;//分别为有序区和无序区指针for(i=1;i<length;i++)//逐步扩大有序区{j=i+1;if(L[j]<L[i]){L[0]=L[j];//存储待排序元素While(L[0]<L[i])//查找在有序区中的插入位置,同时移动元素{L[i+1]=L[i];/ 阅读全文
posted @ 2012-09-20 08:17
laozhu1124
阅读(2271)
评论(3)
推荐(2)
浙公网安备 33010602011771号