📜  堆叠在C++ STL中

📅  最后修改于: 2021-05-30 16:29:06             🧑  作者: Mango

堆栈是一种具有LIFO(后进先出)工作方式的容器适配器,其中在一端添加了一个新元素,而(顶部)仅从该端删除了一个元素。堆栈使用矢量或双端队列(默认)或列表(顺序容器类)的封装对象作为其基础容器,从而提供一组特定的成员函数来访问其元素。

堆栈语法:-

为了创建堆栈,我们必须在代码中包含头文件。然后,我们使用以下语法定义std :: stack:

template > class stack;

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

代码说明:

  1. 在我们的代码中包含iostream头文件或以使用其功能。
  2. 如果已经包含,则在我们的代码中包含堆栈头文件以使用其功能,则无需堆栈头文件,因为它已具有内置函数。
  3. 在我们的代码中包括std名称空间,以使用其类而不调用它。
  4. 调用main()函数。程序逻辑应添加到此函数。
  5. 创建一个堆栈堆栈以存储整数值。
  6. 使用push()函数将值21插入堆栈。
  7. 使用push()函数将值22插入堆栈。
  8. 使用push()函数将值24插入堆栈。
  9. 使用push()函数将值25插入堆栈。
  10. 使用pop()函数从堆栈中删除顶部元素,即25。顶部元素现在变为24。
  11. 使用pop()函数从堆栈中删除顶部元素,即24。现在顶部元素变为22。
  12. 使用while循环和empty()函数检查堆栈是否不为空。这 !是NOT运算符。
  13. 在控制台上打印堆栈的当前内容。
  14. 在堆栈上调用pop()函数。
  15. while循环的主体结尾。
  16. 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等的更多准备工作,请参阅“完整面试准备课程”