首页 > 学院 > 开发设计 > 正文

对5个数进行排序,需7次比较的方法

2019-11-08 19:49:34
字体:
来源:转载
供稿:网友

本文介绍一个对5个数进行排序的方法,仅使用7次比较。假设要排序的数为a,b,c,d,e。

        首先将a,b进行比较,假设结果为a<b,再将c,d进行比较,假设结果为c<d;然后将两组数的较大者进行比较(即比较b,d),假设结果为b<d,于是就有下面的关系,箭头的关系表示“<”,即"小于",至此,已经进行了三次比较。

,这个图的含义为:a<b<d,c<d

        现在将e插入到{a,b,d}的适当位置,采用二分查找法寻找查找位置时,只需要两次比较——先同b比较,然后再同a或d比较。将e插入到{a,b,d}时,一共有下面四中结果:

        在这四中情况中,要将c插入到由[abcd]组成的序列中最多只需要两次比较。同样使用二分法寻找插入位置。以第一种情况为例:c首先同a比较,如果大于a,再同b比较,如果大于b,则不会再同d比较,因为我们在之前已经知道c<d。

转载自:http://blog.csdn.net/x_i_y_u_e/article/details/45059725


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表