shell排序代码
时间:2011-05-01 来源:多铎alex
#include <iostream>
using namespace std;
void ShellQin(int A[],int n)
{
int gap=n/2;
int i,j;
for(;gap>0;gap=gap/2)
{
for(i=gap+1;i<n;i++)
{
j=i;
if(A[j-gap]>A[j])
{
int temp=A[j];
do
{
A[j]=A[j-gap];
j=j-gap;
}while(j>=0&&temp<A[j]);
A[j+gap]=temp;
}
}
}
for(i=0;i<n;i++)
{
cout<<*(A+i)<<" ";
}
}
int main()
{
int a[]= {5,4,3,21,1,100,93,1,3,2,4};
ShellQin(a,11);
return 0;
}
相关阅读 更多 +










