- 论坛徽章:
- 5
|
本帖最后由 blackold 于 2014-09-07 16:48 编辑
回复 18# zooyo
zooyo, 是我们理解错题意了。
样本数据:
A B C D
- 11 - 0
- - - -
40 12 - 0
- 12 - 0
37 13 - 0
37 1 - 0
- 13 - -
- 14 - -
- 15 - -
50 - 0 -
49 - 3 0
48 - 0 23
47 - 3 0
46 - 0 3
-45 - - 2
5.3400000000e+11 - - 0
43 - - 3
42 - - 2
41 - - 2
39 - 43 0
38 - - -
36 - 54 3
35 - - 3
34 - 4 -
33 - - -
5.3400000000e-11 - - 0
- - 25 0
- - 24 0
- - 23 0
- - 22 0
- - - 5
- - - 4
- - - 2
- - - 4
先对A列有数值的行排序(从小到大),不管A列无数值(-)的行。
A列有数值行的排序结果直接作为最终排序结果的一部分,不会再排序:
A结果(注意"37"那两行的顺序):
-45 - - 2
5.3400000000e-11 - - 0
33 - - -
34 - 4 -
35 - - 3
36 - 54 3
37 13 - 0
37 1 - 0
38 - - -
39 - 43 0
40 12 - 0
41 - - 2
42 - - 2
43 - - 3
46 - 0 3
47 - 3 0
48 - 0 23
49 - 3 0
50 - 0 -
5.3400000000e+11 - - 0
剩下无数值行:
- 11 - 0
- - - -
- 12 - 0
- 13 - -
- 14 - -
- 15 - -
- - 25 0
- - 24 0
- - 23 0
- - 22 0
- - - 5
- - - 4
- - - 2
- - - 4
在剩下的行中,再对B列有数值的行排序,不管无数值(-)的行,也不会对之前的排序结果(已经排序的行)再进行排序:
B结果
- 11 - 0
- 12 - 0
- 13 - -
- 14 - -
- 15 - -
依此类推,在剩下的行中对C列有数值的行排序:
C结果:
- - 22 0
- - 23 0
- - 24 0
- - 25 0
在剩下的行中,对D列有数值的行排序:
D结果:
- - - 2
- - - 4
- - - 4
- - - 5
最后剩下:
最终排序结果就是:
A结果+B结果+C结果+D结果+最后剩下的行
|
|