#include<iostream>
#include"time.h"
using namespace std;
void ShellSort(int s[],int len)
{
int i,j,step,temp,n=1;
for(step=len/2;step>=1;step=step/2) //关键:step为希尔排序的步长
{
for (i=step;i<len;i++)
{
temp = s[i];
for(j=i-step;j>=0 && temp<s[j];j-=step)
{
s[j+step]=s[j];
}
s[j+step]=temp;
}
cout<<"第"<<n<<"次直接插入排序的结果是: "; //打印结果
for(int k=0;k<len;k++)
cout<<s[k]<<" ";
cout<<endl;
n++;
}
}
int main()
{
int a[10]={6,3,14,12,4,5,1,31,53,62,};
ShellSort(a,10);
cout<<endl;
cout<<"程序耗时: "<<clock()<<" ms"<<endl;
system("pause");
return 0;
}
希尔排序
最新推荐文章于 2023-11-28 16:53:17 发布