shellsort.cpp

来自「比较各种排序的算法间的运行效率 自己写的不太完善」· C++ 代码 · 共 26 行

CPP
26
字号
void shellsort(int *a, int n, int &contrastNum, int &moveNum)
{
     int i, j;
     int dk, temp;
     
     for(dk=n/2;dk>=1;dk/=2)
     {
       for(i=dk;i<n;i++)
       {
         contrastNum++;
         if(a[i-dk]>a[i])
         {
           temp = a[i];
           moveNum++;
           for(j=i-dk;j>=0&&a[j]>temp;j-=dk)
           {
             a[j+dk] = a[j];
             moveNum++;
           }
           a[j+dk] = temp;
           moveNum++;
         }
       }
     }
}

⌨️ 快捷键说明

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