每日一题希尔排序的实现
Posted 计算机考研说
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一题希尔排序的实现相关的知识,希望对你有一定的参考价值。
希尔排序的实现:
#include <stdio.h>
#include <stdlib.h>
void ShellSort(int *k,int n)
{
int i,j,temp,gap=n;
do
{
gap=gap/3+1;
for(i=gap;i<n;i++)
{
if(k[i]<k[i-gap])
{
temp=k[i];
for(j=i-gap;k[j]>temp;j-=gap)
{
k[j+gap]=k[j];
}
k[j+gap]=temp;
}
}
}while(gap>1);
}
int main()
{
int i,a[10]={5,2,6,0,3,9,1,7,4,8};
ShellSort(a,10);
printf("排序后的结果是:");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("\n\n");
return 0;
}
以上是关于每日一题希尔排序的实现的主要内容,如果未能解决你的问题,请参考以下文章