算法提高——链表练习

2021/6/18 22:31:48

本文主要是介绍算法提高——链表练习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

链表练习

题目:PAT甲级1052

 

 

 

题目大意:给出一个链表,要求按值的递增顺序对链表进行排序

输入格式:第一行,输入N为链表节点数目,5位的链表首地址,以后每行为链表各个节点的信息(地址:值:后继节点地址),后继地址为-1表示NULL

输出格式:第一行输出节点数目,排序后链表首节点地址,以后每行为各个节点信息

解题思路:可以使用静态链表实现,这样可以方便操作,而且不需要new来申请动态内存空间,起初我设想的是直接交换链表中的value值,但是根据输出样例显然不行。首先,根据排序的思想,这里先使用插入排序来进行模拟,首先找到最小的节点,这个节点作首节点,然后修改该节点的next指针,指向第二小的节点,然后依次修改next指针即可。

注意:输入样例中可能有不在所求链表上的节点,这类节点为无效节点。

代码:

 

 

 

 

 



这篇关于算法提高——链表练习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程