5个数通过7次比较排序的方法

5个数之间的大小关系构成的一个树形图T。T中的一个结点代表一个数,而一条边代表它所

关联的两个数的大小关系,T的根就是中位数。显然T中的一条边要由一次比赛来确定。在

面的图中,如果x大于y,则节点x在节点y的上方且x和y有一条边相连。另外,*表示一般的

数,o表示下一次即将进行比较的两个数。

第1步,先任取两个数比较,结果为:

*
|
* o o *

第2步,再取另外两个数比较,结果为:

o o
| |
* * *

第3步,按照上图比较其中两个标记为o的数,比较结果只有一种情况:

*
/ \
o *
|
* o

第4步,按照上图比较其中两个标记为o的数,比较结果有两种情况:

o o *
\ / \ / \
* * * *
| / \
* o o

第5步,按照上图比较其中两个标记为o的数,比较结果有两种情况:


* *
| / \
* * o
/ \ |
o o o
| |
* *

第6步,按照上图比较其中两个标记为o的数,比较结果有三种情况:

* * *
| | / \
* * o o
| | \ /
* * *
| / \ |
* o o *
|
*
其中第一种情况已经排好序了
第7步,按照上图比较其中两个标记为o的数,比较结果只有一种情况:

*
|
*
|
*
|
*
|
*

所以只需要7步比较就可以把5个数排好序

原文地址:https://www.cnblogs.com/lzhitian/p/2381204.html