#include<iostream>
using namespace std;
void swap(int* a,int* b)
{
int temp=*a;
*a=*b;
*b=temp;
}
void main()
{
int a[]={2,5,3,7,4,8,2,6,2,4,10};
int length=sizeof(a)/sizeof(int);
int gap=length/2;
int i;
int j;
while(gap>=1)
{
for(i=0;i<gap;i++)
{
for(j=gap+i;j<length;j+=gap)
{
int temp=j;
while(temp>gap&&a[temp]<a[temp-gap])
{
swap(&a[temp],&a[temp-gap]);
temp-=gap;
}
}
}
gap/=2;
}
for(i=0;i<length;i++)
{
cout<<a[i]<<endl;
}
}
希尔排序
最新推荐文章于 2025-01-21 00:21:24 发布