讲循环链表和双向链表.docVIP

  • 8
  • 0
  • 约1.72千字
  • 约 4页
  • 2017-04-08 发布于江苏
  • 举报
讲循环链表和双向链表

第五讲 循环链表和双向链表 1.了解并掌握循环链表和双链表的概念。 2.熟悉双向链表的的表示与实现。 教学重点: 双向链表的表示与实现 教学难点: 双向链表的存储表示 授课内容 2.4  循环链表和双向链表 2.4.1 循环链表   对于单链表而言,最后一个结点的指针域是空指针,如果将该链表头指针置入该指针域,则使得链表头尾结点相连,就构成了单循环链表。如图2.16所示。 在单循环链表上的操作基本上与非循环链表相同,只是将原来判断指针是否为NULL变为是否是头指针而已,没有其它较大的变化。 图2.16 带头结点的单循环链表    对于单链表只能从头结点开始遍历整个链表,而对于单循环链表则可以从表中任意结点开始遍历整个链表,不仅如此,有时对链表常做的操作是在表尾、表头进行,此时可以改变一下链表的标识方法,不用头指针而用一个指向尾结点的指针R来标识,可以使得操作效率得以提高。    例如对两个单循环链表H1 、H2的连接操作,是将H2的第一个数据结点接到H1的尾结点,如用头指针标识,则需要找到第一个链表的尾结点,其时间复杂性为O(n),而链表若用尾指针R1、R2来标识,则时间性能为O(1)。操作如下: p=R1–next;  /*保存R1 的头结点指针*/ R1-next=R2-next-next; /*头尾连接*/ free(R2-ne

文档评论(0)

1亿VIP精品文档

相关文档