#include"iostream"
#include<stdlib.h>//rand()函数,srand(seed)函数调用
#include<time.h>//time(NULL)函数调用
using namespace std;
void main()
{
srand(time(NULL));//设置变化种子
int a[100];
int i,j,t,p,k;
for(i=0;i<100;i++)
a[i]=rand()%100;//产生0-99的随机数
//希尔排序算法,升序排列
for(p=10;p>=1;p/=2)
for(i=0;i<p;i++)
for(k=i+p;k<100;k+=p)
{
j=k;
while(j>=p)
{
if(a[j]<a[j-p])
{
t=a[j-p];
a[j-p]=a[j];
a[j]=t;
}
j-=p;
}
}
for(i=0;i<100;i++)
{
cout<<a[i]<<"\t";
if(i%10==9)
cout<<endl;
}
cout<<endl;
}
c++ 希尔排序算法
最新推荐文章于 2023-10-04 13:17:10 发布