📜  如何键入垂直堆栈程序 c++ (1)

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

如何键入垂直堆栈程序 C++

在 C++ 中,可以使用 STL 的 stack 模板类实现堆栈数据结构。通过特殊的调用方式,这种堆栈可以垂直排列。本篇文章将会介绍如何创建和使用垂直堆栈。

创建垂直堆栈

首先,在 C++ 中创建垂直堆栈,需要用到 STL 中的 stack 模板类。在代码中包含头文件 <stack>,使用如下代码即可创建一个垂直堆栈:

#include <stack>
using namespace std;

stack<int, vector<int>> vertical_stack;

这个垂直堆栈中存储的元素类型是 int,底层容器类型是 vector<int>。需要注意的是,vector 必须被包含在垂直堆栈的定义中。

向垂直堆栈添加元素

在垂直堆栈中添加元素的方法是 push(),代码如下:

vertical_stack.push(10);

这里,我们向垂直堆栈中添加了一个整数类型的值 10。

弹出垂直堆栈顶部元素

在垂直堆栈中移除元素的方法是 pop()。代码如下:

vertical_stack.pop();

这里,我们从垂直堆栈的顶部弹出一个元素。

访问垂直堆栈顶部元素

要访问垂直堆栈顶部的元素,可以使用 top() 方法,代码如下:

int top_element = vertical_stack.top();

这里,我们从垂直堆栈的顶部访问了一个元素,并将其存储在变量 top_element 中。

判断垂直堆栈是否为空

当垂直堆栈为空时,可以使用 empty() 方法来检查。代码如下:

if(vertical_stack.empty()){
    cout << "Stack is empty!" << endl;
}

这里,我们检查了垂直堆栈是否为空,并输出了一条相关的信息。

完整代码

下面是一个包含了上述操作的完整代码示例:

#include <iostream>
#include <stack>
using namespace std;

int main(){
    stack<int, vector<int>> vertical_stack;
    vertical_stack.push(10);
    vertical_stack.push(20);
    int top_element = vertical_stack.top();
    cout << "Top element: " << top_element << endl;
    vertical_stack.pop();
    top_element = vertical_stack.top();
    cout << "Top element after pop(): " << top_element << endl;
    if(vertical_stack.empty()){
        cout << "Stack is empty!" << endl;
    }
    return 0;
}
总结

通过使用 stack 模板类,我们可以很方便地创建和使用垂直堆栈。需要注意的是,底层容器必须被指定为 vector,并且必须在垂直堆栈的定义中包含。