📅  最后修改于: 2023-12-03 15:08:08.758000             🧑  作者: Mango
在C++ STL中,堆叠(Stack)是一种容器,用来存储具有后进先出(LIFO)顺序的元素。堆叠中只能在容器的一端进行插入和删除操作,这个端口通常被称为“顶部”。
C++ STL中的堆叠提供了以下基本功能:
push(elem):在堆叠的顶部插入一个元素,其复杂度为O(1)。
stack<int> s;
s.push(5); // 调用push()函数将5插入到堆叠的顶部
pop():移除堆叠顶部的元素,其复杂度为O(1)。
stack<int> s;
s.push(5);
s.pop(); // 调用pop()函数移除堆叠顶部的元素
top():获取堆叠顶部的元素,其复杂度为O(1)。
stack<int> s;
s.push(5);
int top = s.top(); // 获取堆叠顶部的元素
empty():检查堆叠是否为空,其复杂度为O(1)。
stack<int> s;
bool isEmpty = s.empty(); // 检查堆叠是否为空
size():获取堆叠中元素的数量,其复杂度为O(1)。
stack<int> s;
int size = s.size(); // 获取堆叠中元素的数量
下面是一个使用堆叠的简单示例:
#include <iostream>
#include <stack>
using namespace std;
int main()
{
stack<int> s;
// 插入元素到堆叠
s.push(5);
s.push(2);
s.push(8);
// 获取堆叠顶部的元素
cout << "Top element: " << s.top() << endl;
// 移除堆叠顶部的元素
s.pop();
// 获取堆叠中元素的数量
cout << "Size of stack: " << s.size() << endl;
// 检查堆叠是否为空
if (s.empty())
{
cout << "Stack is empty";
}
else
{
cout << "Stack is not empty";
}
return 0;
}
输出结果:
Top element: 8
Size of stack: 2
Stack is not empty
堆叠是C++ STL中的一种容器,用于存储具有后进先出顺序的元素。堆叠提供了插入、移除、获取元素以及检查是否为空等基本功能。使用堆叠可以轻松地实现各种算法和数据结构。