shell排序

原创 2015年07月10日 22:23:33
希尔排序实现:

void shellsort(vector<int> &nums)
{
	int len=nums.size();
	int gap=len/2;
	int i=0,j=0;
	for (gap=len/2;gap>0;gap/=2)
	{
		for (i=0;i<gap;i++)
		{	
			 for (j=i+gap;j<len;j+=gap)
			 {
				 int tmp=nums[j];
				 int k=j-gap;//先减去再判断,否则循环中再减去为负值
				 for(;k>=0 &&tmp<nums[k];k-=gap)
					 {
						 nums[k+gap]=nums[k];
						  
					 }
					 nums[k+gap]=tmp;
				 }
				 

			 }
			 			 
			 
			 
		}
		 

	}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

SHELL排序动画演示

  • 2012-07-31 11:50
  • 23KB
  • 下载

C 冒泡Shell排序算法

  • 2015-09-18 10:46
  • 1.43MB
  • 下载

shell排序法的C++实现

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

java shell排序

shell排序的c实现

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

shell排序shellsort

  • 2014-06-15 12:12
  • 344B
  • 下载

shell排序 (工程)

  • 2014-07-03 22:39
  • 31.67MB
  • 下载

SHELL排序

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

希尔排序 又称shell排序

  • 2011-05-13 13:28
  • 626B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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