×
数据结构教程数据结构简介数据结构算法数据结构渐近分析指针结构体

数组

数组二维数组

链表

链表双链表循环单向链表循环双向链表

堆栈

堆栈数组实现堆栈堆栈的链表实现

队列

队列队列的数组实现队列的链表实现循环队列

二叉树二叉搜索树平衡搜索树(AVL树)B树B+树

图类型图的表示广度优先搜索(BFS)算法深度优先搜索(DFS)算法生成树

搜索

线性搜索二进制(二分查找)搜索

排序

冒泡排序桶排序梳排序计数排序堆排序插入排序合并排序快速排序基数(Radix)排序选择排序希尔排序双调排序鸡尾酒排序圈排序

堆栈


堆栈(Stack)的简介

  • 堆栈(Stack)是一个有序列表,它只能在顶端执行插入和删除。
  • 堆栈(Stack)是一个递归数据结构,具有指向其顶部元素的指针。
  • 堆栈有时被称为后进先出(LIFO)列表,即首先插入堆栈的元素将最后从堆栈中删除。

堆栈的一些应用

  • 递归
  • 表达式评估和转换
  • 解析
  • 浏览器
  • 编辑器
  • 树遍历

1. 堆栈操作

可以在堆栈上执行各种操作。

1.推入 :将元素添加到堆栈中,如下图所示:

2.弹出 :从堆栈中删除元素,如下图所示:

3.窥视:查看堆栈的所有元素而不删除它们。

2. 堆栈如何增加?

场景1 :堆栈为空

如果堆栈中不包含任何元素,则称为空。 在此阶段,变量top的值为-1

场景2 :堆栈不为空

每当向堆栈添加任何元素时,top的值将增加1。 在下面的堆栈中,添加第一个元素后,top = 2

场景3:删除元素

每当从堆栈中删除元素时,top的值将减少1。在下面的堆栈中,从堆栈中删除元素10后,top = 1

顶部及其值:

顶部位置 堆栈状态
-1
0 堆栈中只有一个元素
N-1 堆栈已满
N 溢出

分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)