shellsort.h
来自「八种排序算法」· C头文件 代码 · 共 29 行
H
29 行
//希尔排序
//算法思想:把待排序的数据元素分成若干个小组,对同以小组内的数据元素用直接插入法排序;小组的个数逐次缩小;
//当完成了所有数据元素都在同一组内的排序后,排序过程结束。希尔排序又称缩小增量排序
//算法实现如下
void ShellSort(DataType a[],int n,int d[],int numOfD)
//d[0]--d[numOfD]为希尔增量
{
int i,j,k,m,span;
DataType temp;
for(m=0;m<numOfD;m++)
{
span=d[m];
for(k=0;k<span;k++)
{
for(i=k;i<n-span;i+=span)
{
temp=a[i+span];
j=i;
while (j>-1&&temp.key<=a[j].key)
{
a[j+span]=a[j];
j=j-span;
}
a[j+span]=temp;
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?