#include<stdio.h>
void fun(int a[],int len)
{
int i,j,interval,tmp;
for(interval=len/2;interval>0;interval/=2)
{
for(i=interval;i<len;i++)
{
tmp=a[i];
j=i-interval;
while(tmp<a[j]&&j>=0)
{
a[j+interval]=a[j];
j-=interval;
}
a[j+interval]=tmp;
}
}
}
main()
{
int a[8]={8,6,1,5,6,7,4,6};
int i;
fun(a,8);
for(i=0;i<8;i++)
printf("%4d",a[i]);
}
希尔排序
最新推荐文章于 2024-09-18 22:56:15 发布
本文详细介绍了快速排序算法的实现过程,通过C语言代码展示了如何进行数组的排序。该算法采用分治策略,以时间复杂度O(n log n)进行排序。在main函数中,我们创建了一个包含8个元素的整数数组,并调用fun函数进行排序,最后打印排序后的结果。
摘要由CSDN通过智能技术生成