21xrx.com
2024-11-08 23:20:50 Friday
登录
文章检索 我的文章 写文章
C++ 栈(Stack)类
2023-07-01 15:34:39 深夜i     --     --
C++ Stack class data structure push pop

C++ 栈(Stack)类是一种常用的数据结构,它是一种容器,用于存储和管理元素。在栈中,所有元素都遵循“后进先出(LIFO)”的原则,也就是说最近放入的元素会被最先弹出,而最先放入的元素会被最后弹出。C++ 栈类提供了各种操作(例如 push、pop、size、empty)来管理栈的元素。

创建一个 C++ 栈类对象的语法如下:


std::stack<datatype> stackname;

其中,datatype 是要存储的数据类型,可以是整数、字符串、结构体等。

以下是几个关于 C++ 栈类的重要操作:

1. push(element):将元素压入栈顶;

2. pop():将栈顶元素弹出,并返回它的值;

3. top():返回栈顶元素的值,但不将其弹出;

4. size():返回栈中的元素个数;

5. empty():如果栈为空,返回 true;否则返回 false。

下面是一个示例代码,展示了如何使用 C++ 栈类:


#include <iostream>

#include <stack>

using namespace std;

int main()

{

  // 创建一个整数类型的栈

  stack<int> s;

  // 将元素压入栈中

  s.push(10);

  s.push(20);

  s.push(30);

  // 获取栈顶元素,并将其弹出

  int top_element = s.top();

  s.pop();

  // 获取栈中元素的个数

  int size = s.size();

  // 判断栈是否为空

  bool is_empty = s.empty();

  // 输出结果

  cout << "栈顶元素是:" << top_element << endl;

  cout << "栈中元素的个数是:" << size << endl;

  cout << "栈是否为空:" << is_empty << endl;

  return 0;

}

输出结果如下:


栈顶元素是:30

栈中元素的个数是:2

栈是否为空:false

总的来说,C++ 栈类使得栈的实现变得容易和高效。它提供了一些简单而又常用的操作,可以帮助开发人员实现许多算法和数据结构。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复