数据结构——栈

本文最后更新于:8 个月前

STL 栈的常用函数、算法题

C++ Stack(栈)

函数

empty 该函数用于测试堆栈是否为空。如果堆栈为空,则该函数返回true,否则返回false。
size 该函数返回堆栈容器的大小,该大小是堆栈中存储的元素数量的度量。
top 该函数用于访问堆栈的顶部元素。该元素起着非常重要的作用,因为所有插入和删除操作都是在顶部元素上执行的。
push 该函数用于在堆栈顶部插入新元素。
pop 该函数用于删除元素,堆栈中的元素从顶部删除。
swap 该函数用于交换引用的两个容器的内容。

常见问题

Q1:栈空的时候,使用top访问,或者使用pop会发生什么?

A1:栈空的时候,使用top和使用pop都会发生访问错误,程序会报错终止。

leetcode题库

题目 备注
20.有效的括号(简单) 简单的匹配前后括号(),{},[]
32.最长的括号(困难) 计算最长有效括号,分两种情况:()()和(()),巧妙地利用栈和右括号下标
42.接雨水(困难) 做了两次,第二次还做了两个小时,把问题想复杂化了,虽然细节很多,但是也没有那么多,没有把握住分析思路。
71.简化路径(中等) 标准化输入路径的题目,借鉴编译原理gettoken函数,难点在于需要考虑的情况和细节比较多
84.柱状图中最大的矩形(困难) 单调栈+哨兵(边界加一个特殊值,称为“哨兵”),单调栈常用来求左右边界的问题,分为递增、递减栈,具体选哪个取决于详细情况

数据结构——栈
http://timegogo.top/2022/04/02/算法与数据结构/数据结构——栈/
作者
丘智聪
发布于
2022年4月2日
更新于
2023年7月16日
许可协议