Board logo

标题: [数值计算] 以下为何种排序法? [打印本页]

作者: weichenxiehou    时间: 2012-7-7 19:12     标题: 以下为何种排序法?

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

作者: zz100001    时间: 2012-7-7 20:29

学过C的都知道这是什么排序法。
作者: weichenxiehou    时间: 2012-7-7 21:54

回复 2# zz100001
大哥,不是吧~ 谭浩强那本书上面也没讲这个算法啊,不过说实话,我学了c语言基本没用过。。。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2