堆栈的链式存储结构
时间: 2023-11-28 17:49:39 浏览: 191
堆栈的链式存储结构通常使用单向链表来实现。每个链表节点包含两个数据成员:一个是数据元素本身,另一个是指向下一个节点的指针。栈顶元素就是链表的头节点,新元素进栈时,就把它插入到链表头的位置;元素出栈时,就将链表头指向下一个节点。当链表为空时,表示栈已经空了。
以下是堆栈的链式存储结构的示意图:
```
+---+ +---+ +---+ +---+
| 3 | -> | 2 | -> | 1 | -> | |
+---+ +---+ +---+ +---+
^ |
| v
top NULL
```
在上面的示意图中,栈顶元素是 3,栈底元素是 1,栈中共有三个元素。当第四个元素 4 进栈时,就将它插入到链表头的位置,使得链表变成了这样:
```
+---+ +---+ +---+ +---+ +---+
| 4 | -> | 3 | -> | 2 | -> | 1 | -> | |
+---+ +---+ +---+ +---+ +---+
^ |
| v
top NULL
```
这样,4 就成为了新的栈顶元素。当栈顶元素出栈时,就将链表头指向下一个节点,使得链表变成了这样:
```
+---+ +---+ +---+
| 3 | -> | 2 | -> | 1 |
+---+ +---+ +---+
^ |
| v
top NULL
```
这样,3 就成为了新的栈顶元素。
阅读全文