shell排序问题??大家来解释一下。谢了。
#include<stdio.h>
void shell(int e[],int n)
{
int j,k,h,y;
for(h=n/2; h>0; h=h/2)
{
for(j=h; j<n; j++){
y=e[j];
for(k=j-h; k>=0&&y<e[k];k-=h)
e[k+h]=e[k];
e[k+h]=y;
}
}
}
void main()
{
int i;
int a[9]={2,6,1,4,8,7,0,9,14};
shell(a,9);
for(i=0;i<9;i++)
printf("%4d",a[i]);
printf("\n");
getch();
}