链表练习
题目:PAT甲级1052
题目大意:给出一个链表,要求按值的递增顺序对链表进行排序
输入格式:第一行,输入N为链表节点数目,5位的链表首地址,以后每行为链表各个节点的信息(地址:值:后继节点地址),后继地址为-1表示NULL
输出格式:第一行输出节点数目,排序后链表首节点地址,以后每行为各个节点信息
解题思路:可以使用静态链表实现,这样可以方便操作,而且不需要new来申请动态内存空间,起初我设想的是直接交换链表中的value值,但是根据输出样例显然不行。首先,根据排序的思想,这里先使用插入排序来进行模拟,首先找到最小的节点,这个节点作首节点,然后修改该节点的next指针,指向第二小的节点,然后依次修改next指针即可。
注意:输入样例中可能有不在所求链表上的节点,这类节点为无效节点。
代码:
原文:https://www.cnblogs.com/zyq79434/p/14901254.html