链表类题目
kelvinmao
这个作者很懒,什么都没留下…
展开
-
双向链表的建立与基本操作
双向链表比单链表有更好的灵活性,其大部分操作与线性表相同。下面总结双向链表与单链表之间的不同之处及我在实现过程中所遇到的问题。1.双向链表的建立 双向链表在初始化时,要给首尾两个节点分配内存空间。成功分配后,要将首节点的prior指针和尾节点的next指针指向NULL,这是十分关键的一步,因为这是之后用来判断空表的条件。同时,当链表为空时,要将首节点的next指向尾节点,尾节点原创 2016-04-02 18:39:40 · 13809 阅读 · 1 评论 -
线性表链式存储习题
Q1:已知L1和L2分别指向两个单链表的头结点,且已知其长度分别为m、n,请设计算法将L2连接到L1的后面。实现这个算法,完成测试,并分析这个算法的复杂度。 A:只需将l1的尾指针指向l2头节点即可,算法很简单,但有一问题需要注意,在将l1的尾指针指向l2头节点之后,一定要记住将无用的l2的头指针free掉;status connectlinklist(linklist l1,linklist l2原创 2016-03-27 22:37:40 · 1708 阅读 · 0 评论 -
单链表常见习题及C语言实现(持续更新)
这两天在学习单链表,遇到了一些问题,在这里加以整理记录,以便复习0.单链表的反序 (solved)1.求单链表倒数第N个数(solved)3.求中间结点 (solved)3.给单链表建环 (solved)4.检测单链表是否有环 (solved)5.给单链表解环6.检测两条链表是否相交 (solved)7.不输入头节点,删除单链表的指定节点(只给定待删除节点指针)0.单链表的反序 (solved)s原创 2016-03-15 23:21:35 · 3973 阅读 · 2 评论 -
双向链表的应用—实现根据使用频率安排元素位置的功能
在平时使用音乐播放器时,播放列表中的歌曲可以很方便地进行增添,删除,去重等操作。但其本质都可以抽象成一个双向链表。为了更方便用户的使用,我认为还可以增加一个将最常播放的音乐放在播放列表的头部的功能,那么如何实现呢?请看代码:#include<stdio.h>#include<stdlib.h>#include<time.h>#define OK 1#define ERROR 0#defi原创 2016-04-04 12:56:09 · 2163 阅读 · 0 评论 -
借助链表解决猴子选大王问题(约瑟夫环问题)
Q:一群猴子,编号是1,2,3 …m,这群猴子(m个)按照1~m的顺序围坐一圈。从第1只开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。输入m和n,输出为大王的猴子是几号。A:用一个循环单链表来表示这一群猴子。节点含有0:一个保存猴子的编号,一个为指向下一只猴子的指针,编号为m的结点再指向编号为1的结点,以此构成环形的链。当数到第n个时,该结点被删原创 2016-03-30 18:55:33 · 8228 阅读 · 0 评论