首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

小量数据排序

2013-07-01 
少量数据排序本帖最后由 pqcst 于 2013-05-23 10:16:53 编辑7元素数组[a1,a1,a3,a4,a5,b1,b2],元素各不相

少量数据排序
本帖最后由 pqcst 于 2013-05-23 10:16:53 编辑 7元素数组[a1,a1,a3,a4,a5,b1,b2],元素各不相同,都在1~100之间。
其中a1>a2>a3>a4>a5.

请问采用何种方法排序效率最高?因为这个排序过程要执行几百万次,时间效率上的一点改进都很重要。


另,对于需要分层遍历的问题,除了写循环嵌套,有其他什么代替办法吗?谢谢! 排序
[解决办法]
前5个有序,后两个二分插入就可以了
[解决办法]
既然知道五个有序,用链表,把有序的从大到小插入,再把剩下 的两个插入进去
[解决办法]
这么少量的数据。。肯定越简单的方法越好。。由于前五个有序,我觉得可以用插入法。。而且这里你可以把后两个数的插入位置都找好之后再一起插入,这样可以减少一次数据移动的时间。。
[解决办法]

void better_bubble_sort(int *D, int n) {
    int b,i,m,t;

    b=n-1;
    while (b) {
        m=0;
        for (i=0;i<b;i++) {
            if (D[i]<D[i+1]) {t=D[i];D[i]=D[i+1];D[i+1]=t;m=i;}
        }
        b=m;
    }
}

热点排行