shell排序法
题目:对整型数组进行排序的shell排序算法,由D.L.Shell发明
思路:先比较距离远的元素,而不是像简单交换排序算法那样先比较相邻的元素
代码实现:
1 /*shellsort函数:按递增顺序对v[0]...v[n-1]排序*/ 2 void shellsort(int v[], int n) 3 { 4 int gap,i,j,temp; 5 for(gap=n/2;gap>0;gap/=2) 6 for(i=gap;i<n;i++) 7 for(j=i-gap;j>=0&&v[j]>v[j+gap];j-=gap) 8 { 9 temp=v[j]; 10 v[j]=v[j+gap]; 11 v[j+gap]=temp; 12 } 13 }