关闭

shell排序

453人阅读 评论(0) 收藏 举报
分类:
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;
				}
			}
		}
	}
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:132617次
    • 积分:2096
    • 等级:
    • 排名:第18205名
    • 原创:65篇
    • 转载:100篇
    • 译文:0篇
    • 评论:8条
    文章分类
    最新评论