4.8 多关键字排序一,问题特点:
1.排序关键字不止一个;
2,排序关键字级别高低不同;
3.人工方法的处理过程不便于在计算机上实现。

学号 姓名 数学 英语 语文 总分
1 张三 80 80 80 240
2 李四 70 70 70 210
… … … … … …
18 王五 90 80 70 240
… … … … … …
30 赵六 90 70 80 240
学生成绩表

人工方法的处理过程在计算机上实现的主要难点:
按不同关键字 排序的记录个数不同 。
人工方法的处理过程:
按级别从高到低的次序对不同关键字进行排序。在排序过程中若发现有高关键字值相同的记录,再对这些记录按级别较低的关键字进行排序 。

计算机处理方法的出发点:
为了便于算法在计算机上的实现,应该使按照不同关键字排序的对象都相同(整个线性表中的所有记录)。
计算机处理方法的实现难点:
1,排序关键字的顺序如何安排?
2,怎样在高关键字相同时由低关键字的值决定记录的次序?

1.先 按级别 低 的关键字进行排序,后 按级别高 的关键字进行排序;
2.除第一次排序外,其余各次排序均必须采用 稳定 的排序算法 。
计算机处理方法的解决思路:

学号 姓名 数学 英语 语文 总分
1 张三 80 80 80 240
2 李四 70 70 70 210
… … … … … …
18 王五 90 80 70 240
… … … … … …
30 赵六 90 70 80 240
学生成绩表

学号 姓名 数学 英语 语文 总分
1 张三 80 80 80 240
18 王五 90 80 70 240
… … … … … …
2 李四 70 70 70 210
… … … … … …
30 赵六 90 70 80 240
按英语成绩排序后的结果:

数学 英语 语文 总分学号 姓名
1 张三 80 80 80 240
18 王五 90 80 70 240
… … … … … …
2 李四 70 70 70 210
… … … … … …
30 赵六 90 70 80 240
按数学成绩排序后的结果:

数学 英语 语文 总分学号 姓名
1 张三 80 80 80 240
18 王五 90 80 70 240
… … … … … …
2 李四 70 70 70 210
… … … … … …
30 赵六 90 70 80 240
按总分排序后的结果:

1,排序关键字 从低到高,保证最终的顺序由级别高的关键字决定。
2,后面各次选择 稳定 的排序算法保证在高关键字值相同时记录排列顺序由低关键字的排列结果决定。
计算机处理方法的解决思路: