shell排序

void shellsort(int a[],int n)
{
	int i,j,gap;
	for (gap=n/2;gap>0;gap/=2)//步长
	{
		for (i=0;i<gap;i++)
		{
			for (j=gap+i;j<n;j+=gap)
			{
				if (a[j]<a[j-gap])
				{
					int temp=a[j];
					int k=j-gap;
					while(k>=0&&a[k]>temp)
					{
						a[k+temp]=a[k];
						k=k-gap;
					}
					a[k+gap]=temp;
				}
			}
		}
	}
}

阅读更多
个人分类: 算法
想对作者说点什么? 我来说一句

shell算法shell算法shell算法

2008年10月03日 2KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭