shell插入排序算法

/*shell插入排序算法的平均时间复杂度为O(n^1.3),
它为不稳定排序算法,
d为每次所分组数(初始为n/2)。
*/

#include <stdio.h>
int sum[1010];
int main()
{
	int n,i,j,d,temp;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&sum[i]);
	}
	d=n/2;
	while(d>=1)
	{
		for(i=d+1;i<=n;i++)
		{
			temp=sum[i];
			j=i-d;
			while(temp<sum[j]&&j>0)
			{
				sum[j+d]=sum[j];
				j-=d;
			}
			sum[j+d]=temp;
		}
		d/=2;
	}
	for(i=1;i<=n;i++)
		printf("%d ",sum[i]);
	printf("\n");
return 0;
}

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...