📄 shell排序.txt
字号:
#include "iostream.h"
int d[]={13,11,7,5,3,2,1};
int n;//n为待排数组的长度
void shell(int s[],int dk)
{
int i;
for(i=dk+1;i<=n;i++)
if(s[i]<s[i-dk])
{
s[0]=s[i];
for(int j=i-dk;j>0&&s[0]<s[j];j=j-dk)
s[j+dk]=s[j];
s[j+dk]=s[0];
}
}
void shellsort(int s[],int n)
{
//按增量序列d[0,……,t-1]对顺序表s[1...n]作希尔排序
int t=7;
for(int k=0;k<t;k++)
shell(s,d[k]);
}
void main()
{
int s[100];
cout<<"输入数组长度 n:"<<endl;
cin>>n;
for(int i=1;i<=n;i++)
cin>>s[i];
shellsort(s,n);
for(i=1;i<=n;i++)
cout<<s[i]<<' ';
cout<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -