数据结构课程讲稿第2章.pptVIP

  • 6
  • 0
  • 约1.09万字
  • 约 76页
  • 2019-01-04 发布于浙江
  • 举报
2.3.2 循环链表(circular linked list) 在具体操作上: 在链表上进行遍历时,循环条件不是p或p?next是否为空, 而是它们是否等于遍历起点的指针! 2.3.3 双向链表 单向链表的优点是: 插入和删除不需要移动其它元素 缺点: 失去随机访问的特点—链表的普遍缺点 访问当前结点下一个位置的复杂度为O(1) 但是访问当前结点前一个位置的复杂度为O(n) 如何克服这样的缺点? 2.3.3 双向链表 2.3.3 双向链表(double linked list) 图2.13 双链表的结点结构 2.3.3 双向链表 存储结构设计: typedef struct DuLNode{ ElemType data; struct DuLNode * prior; struct DuLNode * next; } DuLNode, *DuLinkList; 2.3.3 双向链表 在结构上: 可以有双向的循环链表。 图2.14 双向循环链表图示 2.3.3 双向链表 对于一般的双向链表,其结构上的特点,决定了如下关系: p?prior?next = p = p?next?prior 2.3.3 双向链表 在操作上: 和单链表类似,插入和删除结点,需要修改指针来表示逻辑关系的变化; 但是修改的数量增加。 和单链表类似,在修改指针时,要保证指针不丢失。 对于其它的线性

文档评论(0)

1亿VIP精品文档

相关文档