📜  在C++ STL中堆叠push()和pop()(1)

📅  最后修改于: 2023-12-03 15:07:52.298000             🧑  作者: Mango

在C++ STL中堆叠push()和pop()

在 C++ STL(标准模板库)中,堆叠(stack)是一种容器适配器(container adapter),它提供了一种后进先出(LIFO,Last-In-First-Out)的数据结构。堆叠使得插入和删除元素都在堆叠的顶部进行。

创建堆叠

在创建堆叠之前,需要包含相应的头文件:

#include <stack>

然后,可以使用其默认构造函数创建一个空的堆叠:

std::stack<int> s;

这个堆叠包含 int 类型的元素。

向堆叠中添加元素

可以使用 push() 方法将元素添加到堆叠的顶部。例如,将 1、2 和 3 添加到堆叠中:

s.push(1);
s.push(2);
s.push(3);

这时,堆叠中的元素为 3, 2, 1,其顺序是后进先出。

从堆叠中删除元素

可以使用 pop() 方法从堆叠的顶部删除元素。例如,删除堆叠中的 3 和 2:

s.pop();
s.pop();

现在,堆叠中仅有一个元素 1。

获取堆叠的顶部元素

可以使用 top() 方法获取堆叠的顶部元素,而不弹出它。例如:

int top = s.top(); // top = 1
检查堆叠是否为空

可以使用 empty() 方法检查堆叠是否为空。例如:

if (s.empty()) {
    std::cout << "堆叠为空" << std::endl;
} else {
    std::cout << "堆叠非空" << std::endl;
}
总结

在 C++ STL 中,堆叠提供了一种方便的 LIFO 数据结构,对于需要维护后进先出顺序的情况非常有用。通过调用 push() 和 pop() 方法,可以向堆叠中添加和删除元素。使用 top() 方法可以获取堆叠的顶部元素,而 empty() 方法可以用于检查堆叠是否为空。