shell排序

原创 2013年12月03日 17:09:25
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;
				}
			}
		}
	}
}

相关文章推荐

C 冒泡Shell排序算法

  • 2015年09月18日 10:46
  • 1.43MB
  • 下载

java shell排序

  • 2013年06月24日 10:21
  • 1KB
  • 下载

shell排序法的C++实现

shell排序算法: shell排序算法的时间复杂度为o(n2),本文中的间隔每次除以2,若修改时间间隔,那么就可以得到更加优化的时间代价 shell排序算法基于插入排序的两个性质: 1、小序列...

shell排序shellsort

  • 2014年06月15日 12:12
  • 344B
  • 下载

shell排序的c实现

shell排序是插入排序的一种,是插入排序 的一种高速而稳定的改进版本, 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成(n除以d1)个组。所有距离为d1的倍数的记录放在同一个组中。...

shell排序 (工程)

  • 2014年07月03日 22:39
  • 31.67MB
  • 下载

希尔排序 又称shell排序

  • 2011年05月13日 13:28
  • 626B
  • 下载

SHELL排序

插入排序的算法复杂度为O(n2),但如果序列为正序可提高到O(n),而且直接插入排序算法比较简单,希尔排序利用这两点得到了一种改进后的插入排序。 一. 算法描述 希尔排序:将无序数...

数据结构基础(12)------------Shell排序

数据结构基础(11)------------Shell排序 1.Shell排序是DL. Shell于1959年针对直接插入排序算法改进提出的,属于插入排序的范畴,是对直接插入排序算法的改进。直接插...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:shell排序
举报原因:
原因补充:

(最多只允许输入30个字)