#1724. c语言8.16 链表排序
c语言8.16 链表排序
当前没有测试数据。
问题背景
设计函数实现对图所示的学生链表按成绩从低到高排序。
问题描述
本例采用选择排序算法对学生链表进行排序,排序算法与对数组的直接排序算法一致,即每一轮均是从未排序序列的第一个结点开始搜索成绩最小的结点并记录该结点的地址,找到最小成绩结点地址后判断该地址是否是第一个结点的地址,如不是则将第一个结点和成绩最小结点的内容进行交换。需要注意的是,由于是对链表排序,当进行结点内容的交换时,操作和数组的情况略有不同,因为链表结点中除了数据域以外还有指针域,因此交换两个结点内容后,还要将两个结点的指针域交换回去,否则链表中的后继指针将发生错乱。