堆栈是一种具有LIFO(后进先出)工作方式的容器适配器,其中在一端添加了一个新元素,而(顶部)仅从该端删除了一个元素。堆栈使用矢量或双端队列(默认)或列表(顺序容器类)的封装对象作为其基础容器,从而提供一组特定的成员函数来访问其元素。
堆栈语法:-
为了创建堆栈,我们必须在代码中包含
template |
Type –是std :: stack中包含的元素的Type。它可以是任何有效的C++类型,甚至可以是用户定义的类型。
容器–是基础容器对象的类型。
会员类型:
value_type-第一个模板参数T。它表示元素类型。
container_type-第二个模板参数Container。它表示基础容器类型。
size_type-无符号整数类型。与堆栈相关的功能是:
empty()–返回堆栈是否为空–时间复杂度:O(1)
size()–返回堆栈的大小–时间复杂度:O(1)
top()–返回对栈顶元素的引用–时间复杂度:O(1)
push(g)–将元素“ g”添加到堆栈顶部–时间复杂度:O(1)
pop()–删除堆栈中最顶层的元素–时间复杂度:O(1)
CPP
#include
#include
using namespace std;
int main() {
stack stack;
stack.push(21);
stack.push(22);
stack.push(24);
stack.push(25);
stack.pop();
stack.pop();
while (!stack.empty()) {
cout << ' ' << stack.top();
stack.pop();
}
}
输出
22 21
代码说明:
- 在我们的代码中包含iostream头文件或
以使用其功能。 - 如果已经包含
,则在我们的代码中包含堆栈头文件以使用其功能,则无需堆栈头文件,因为它已具有内置函数。 - 在我们的代码中包括std名称空间,以使用其类而不调用它。
- 调用main()函数。程序逻辑应添加到此函数。
- 创建一个堆栈堆栈以存储整数值。
- 使用push()函数将值21插入堆栈。
- 使用push()函数将值22插入堆栈。
- 使用push()函数将值24插入堆栈。
- 使用push()函数将值25插入堆栈。
- 使用pop()函数从堆栈中删除顶部元素,即25。顶部元素现在变为24。
- 使用pop()函数从堆栈中删除顶部元素,即24。现在顶部元素变为22。
- 使用while循环和empty()函数检查堆栈是否不为空。这 !是NOT运算符。
- 在控制台上打印堆栈的当前内容。
- 在堆栈上调用pop()函数。
- while循环的主体结尾。
- main()函数主体的末尾。
堆栈功能列表:
- C++ STL中的stack :: top()
- C++ STL中的stack :: empty()和stack :: size()
- C++ STL中的stack :: push()和stack :: pop()
- C++ STL中的stack :: swap()
- C++ STL中的stack :: emplace()
- 有关C++ Stack的最新文章
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。