⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 希尔排序.txt

📁 c语言排序
💻 TXT
字号:
 Espate studio


--------------------------------------------------------------------------------

希尔排序

基本思想:

      希尔是把直接插入方法分成插入步长由大到小不同的趟来进行,一开始步长较大,把序列  分成几个子表,每个子表结点少,直接插入排序效率高。以后步长逐渐减少直至为一。每次都对分成的子表进行插入排序。可见后一趟的插入排序就能充分利用前一趟的排序结果,后一趟的排序效率就会提高。

参考程序

      假设一数组起始地址为 p,n个数的希尔排序如下

void shellsort(int * p,int n)
{
     int h;
     int e;
     int i;
     int j;
     for(h=n/2;h>0;h=h/2)//初始步长设为n/2
          for(j=h;j<n;j++)
          {
               if (p[j]<p[j-h])
               {
                    e=p[j];
                    for(i=j-h;i>=0&&p[i]>e;i=i-h)
                         p[i+h]=p[i];
                    p[i+h]=e; 

               }
          }
}


adiwei

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -