C++ STL 栈

C++C++Beginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,我们将学习如何在 C++ 中创建和操作栈(Stack)数据结构。我们将使用 C++ 提供的 STL(Standard Template Library,标准模板库)来创建栈对象。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("`C++`")) -.-> cpp/OOPGroup(["`OOP`"]) cpp(("`C++`")) -.-> cpp/AdvancedConceptsGroup(["`Advanced Concepts`"]) cpp(("`C++`")) -.-> cpp/IOandFileHandlingGroup(["`I/O and File Handling`"]) cpp(("`C++`")) -.-> cpp/StandardLibraryGroup(["`Standard Library`"]) cpp(("`C++`")) -.-> cpp/SyntaxandStyleGroup(["`Syntax and Style`"]) cpp/OOPGroup -.-> cpp/classes_objects("`Classes/Objects`") cpp/OOPGroup -.-> cpp/class_methods("`Class Methods`") cpp/AdvancedConceptsGroup -.-> cpp/templates("`Templates`") cpp/IOandFileHandlingGroup -.-> cpp/output("`Output`") cpp/IOandFileHandlingGroup -.-> cpp/files("`Files`") cpp/StandardLibraryGroup -.-> cpp/standard_containers("`Standard Containers`") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("`Code Formatting`") subgraph Lab Skills cpp/classes_objects -.-> lab-96226{{"`C++ STL 栈`"}} cpp/class_methods -.-> lab-96226{{"`C++ STL 栈`"}} cpp/templates -.-> lab-96226{{"`C++ STL 栈`"}} cpp/output -.-> lab-96226{{"`C++ STL 栈`"}} cpp/files -.-> lab-96226{{"`C++ STL 栈`"}} cpp/standard_containers -.-> lab-96226{{"`C++ STL 栈`"}} cpp/code_formatting -.-> lab-96226{{"`C++ STL 栈`"}} end

创建一个 C++ 文件

首先,我们使用以下命令在 ~/project 目录下创建一个 main.cpp 文件:

touch ~/project/main.cpp

包含头文件

我们需要包含用于创建和操作栈的必要头文件。以下代码将包含所需的头文件:

#include <iostream>
#include <stack> // 用于创建栈的头文件

创建一个栈对象

我们可以使用 STL 提供的 stack 模板来创建一个栈对象。以下代码将创建一个整数类型的栈:

std::stack<int> stack;

注意: 这里我们创建了一个整数类型的栈。你可以创建任何类型的栈对象。

将元素压入栈

要将元素压入栈,我们可以使用 push() 方法。以下代码将元素压入栈中:

stack.push(10);
stack.push(20);
stack.push(30);

从栈中弹出元素

我们可以使用 pop() 方法从栈顶移除元素。以下代码将从栈中移除顶部元素:

stack.pop();

检查栈顶元素

要检查栈顶元素,我们可以使用 top() 方法。以下代码用于检查栈顶元素:

std::cout << stack.top();

要编译并运行代码,请在终端中使用以下命令:

g++ main.cpp -o main && ./main

总结

在本实验中,我们创建并操作了 C++ 中的栈(Stack)数据结构。我们使用了 C++ 提供的 STL stack 模板来创建栈对象。通过 push()pop()top() 等方法,我们向栈中压入和弹出元素,并检查了栈顶元素。

您可能感兴趣的其他 C++ 教程