shellsort.cpp

来自「希尔排序(缩小增量法) 排序过程:先取一个正整数d1<n」· C++ 代码 · 共 46 行

CPP
46
字号
#include<iostream>
#include<iomanip>//include function setw();
//#include<stdlib.h>
using namespace std;
void InsertSort(int r[], int n)
{
	int i,j,x,d;
	d=n/2;
	while(d>=1)
	{	
		for(i=d;i<n;i++)
		{
			x=r[i];
			for(j=i-d;j>=0;j-=d)
				if(x<r[j])
					r[j+d]=r[j];
				else break;
			r[j+d]=x;//j=-1只交换一次
		}
			d/=2;
	}
}
void Print(int r[], int n)
{
	for(int i=0;i<n;i++)
		cout<<setw(5)<<r[i]<<",";
	cout<<endl;
}
//#define NUM 20
int main()
{
	int s[6]={10,24,6,12,7,8};
	InsertSort(s,6);
   // InsertSort(s,sizeof(s)/sizeof(int));
	cout<<"put out 5 empty every element:\n";
	Print(s,6);
   // Print(s,sizeof(s)/sizeof(int));
	/*int s[NUM];
	int i;
	srand(1);
	for(i=0;i<NUM;i++)
		s[i]=rand()%100;
	InsertSort(s,sizeof(s)/sizeof(int));
	Print(s,sizeof(s)/sizeof(int));*/
	return 0;
}

⌨️ 快捷键说明

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