以下算法为何种排序法?不是快速排序的递归算法啊……在数据量较大时,感觉与选择排序和冒泡排序相比具有优势,想出它的人真~~。各位算算元素为n的数组最多要进行多少次比较。。。
用awk语言测试的算法,学过c的应该都能大致看懂。- BEGIN{
- n=10
- for(i=n-1;i>=0;i--) x[9-i]=i
- for(i=int(n/2);i>0;i=int(i/2))
- for(j=i;j<n;j++)
- for(k=j-i;k>=0;k-=i)
- if(x[k]>x[k+i]){temp=x[k];x[k]=x[k+i];x[k+i]=temp}
- }
复制代码
|