2.3 和队列的链式存储结构

2.3 和队列的链式存储结构

2.3 栈和队列的链式存储结构

  栈和队列的链式存储结构是线性链表的特殊形式,具有线性链表的一些基本特征,同时,又具有其本身的一些特殊性质。

2.3.1 栈的链式存储结构

  链栈就是使用链式存储结构实现的栈,一般情况下,可以直接使用线性链表来描述链栈。以链表尾作为栈底,以链表头作为栈顶,图2-4(a)是以不带头结点的线性链表描述的栈,图2-4(b)是带头结点的线性链表描述的栈。

  1.栈的链式存储结构
  用链式存储结构实现的栈称为链栈。通常用不带头结点的单链表表示一个栈,设置一个栈顶指针top。入栈、出栈都在top端进行。链栈是动态存储结构,元素个数动态变化,预先不需要指定。链栈的结点结构与单链表的结构相同,类型定义如下:
  
  因为栈中的主要运算是在栈顶插入和删除,将链表的头部做栈顶是最方便的,而且没有必要像单链表那样为了运算方便附加一个头结点。
  2.链栈的基本操作算法
  链栈的各个操作算法思想与顺序栈类似,不再赘述,下面仅给出算法描述。
  ① 置空栈。算法描述如下:
  
  ② 判栈空。算法描述如下:
  
  ③ 入栈。算法描述如下:
  
  ④ 出栈。算法描述如下:
  
  ⑤ 求栈长(元素个数)。算法描述如下:
  

2.3 和队列的链式存储结构

想获得更多考研相关资料

京ICP备14027590号