shell排序

shell排序
 1 template < typename T >
 2 void  sort_shell(T *  a) {
 3    int d;
 4    int i;
 5    int j;
 6    T temp;
 7    d=N/2;
 8    while(d>0){
 9        for (i=0;i<N-d;i++)
10        {
11            j=i+d;
12            temp=a[j];
13            while((j-d)>=0 && temp<a[j-d]){
14                a[j]=a[j-d];
15                j-=d;
16            }

17            a[j]=temp;
18            
19        }

20        d=d/2;
21    }

22}

你可能感兴趣的:(shell排序)