数据结构栈.pptVIP

  • 13
  • 0
  • 约4.05千字
  • 约 30页
  • 2016-08-05 发布于重庆
  • 举报
数据结构栈

数据结构 栈 单链表 所有结点通过指针的链接而构成的线性表称为单链表。线性表(a1,a2,……an,)的单链表可直观地画成: head是单链表的头指针,指向开始结点a1, an是终端结点,其指针域为空,不指向任何结点。 一个单链表由头指针head唯一标识和确定,因此,可用头指针来命名单链表。 循环链表 循环链表(circular linked list)是一种首尾相接的链表,将单链表表尾结点原来的空指针改为指向表头结点,就成为循环链表。 循环链表并不多占存储单元,但从循环链表的任一个结点出发都可以访问到此链表的每一个结点,因为当访问到表尾结点后又能返回到头结点。 1. 带头指针的循环链表 通常在循环链表的表头结点前面再加一个空结点,也叫空表头结点。 表空时空表头结点的指针指向其本身,如下面的图所示为空循环链表。 空表头结点除指针以外的数据域是没有用的,但为了将此结点与一般结点相区别,常常是将其赋以一个特别的数据,以与一般结点相区别。 2. 带尾指针的循环链表 另一种方法是不设头指针而改设尾指针,这样无论是找头结点还是尾结点都很方便。因为尾结点由尾指针rear来指示,则头结点的位置是rear-next-next。 双链表 双向链表中每个结点除了有向后指针外,还有指向其前一个结点的指针,这样形成的链表中有两条不同方向的链,因此从某一结点均可向两个方向访问。

文档评论(0)

1亿VIP精品文档

相关文档