shellsort.h

来自「本代码实现了几乎所有的排序算法」· C头文件 代码 · 共 39 行

H
39
字号
#include<iostream.h>

void ShellPass(int *Array,int size,int gap)
{
	int temp;
	for(int i=gap; i<size;i++)
	{
		temp=Array[i];
		int j=i;
		while( j>=gap && temp<Array[j-gap] )
		{
			Array[j]=Array[j-gap];
			j-=gap;
		}
		Array[j]=temp;
	}
}

void ShellSort(int *Array,int size)
{
	const int siz=5;
	int d[siz];
	for(int k=0; k<siz; k++)
		d[k]= 2*(siz-k)-1;
	int gap=d[0];

	for(k=0; k<siz; )
	{
		ShellPass(Array,size,gap);
		gap=d[++k];
	
		
		cout<<"数组第 "<<(k+1)<<" 希尔排序之后:"<<endl;
		for( int k=0;k<size;k++)
			cout<<Array[k]<<"  ";
		cout<<endl;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?