第二章数据结构(JAVA版) 线性表.pptVIP

  • 130
  • 1
  • 约1.37万字
  • 约 72页
  • 2018-03-28 发布于河南
  • 举报
  和单链表相同,循环单链表也有带头结点结构和不带头结点结构两种,带头结点的循环单链表实现插入和删除操作时,算法实现较为方便。 带头结点的循环单链表结构如下: (a)空链表;(b)非空链表   带头结点的循环单链表的操作实现方法和带头结点的单链表的操作实现方法类同,差别仅在于:   (1)在构造函数中,要加一条head.next head 语句,把初始时的带头结点的循环单链表设计成图2-11 (a)所示的状态。   (2)在index i 成员函数中,把循环结束判断条件current ! null改为current ! head。   双向链表是每个结点除后继指针外还有一个前驱指针。和单链表类同,双向链表也有带头结点结构和不带头结点结构两种,带头结点的双向链表更为常用;另外,双向链表也可以有循环和非循环两种结构,循环结构的双向链表更为常用。    2.5  双向链表  在双向链表中,每个结点包括三个域,分别是element域、next域和prior域,其中element域为数据元素域,next域为指向后继结点的对象引用,prior域为指向前驱结点的对象引用。图2-12为双向链表结点的图示结构。  双向链表结点的图示结构  图2-13是带头结点的循环双向链表的图示结构。从图2-13可见,循环双向链表的next和prior各自构成自己的循环单链表。 带头结点的循环双

文档评论(0)

1亿VIP精品文档

相关文档