首页 > 编程语言 > 详细

算法提高——链表练习

时间:2021-06-18 23:59:38      阅读:38      评论:0      收藏:0      [点我收藏+]

链表练习

题目:PAT甲级1052

技术分享图片

 

 技术分享图片

 

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

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

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

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

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

代码:

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

算法提高——链表练习

原文:https://www.cnblogs.com/zyq79434/p/14901254.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!