21xrx.com
2024-11-22 07:07:42 Friday
登录
文章检索 我的文章 写文章
C++实现栈(Stack)的操作
2023-06-22 10:44:46 深夜i     --     --
C++ Stack 实现 操作 数据结构

栈(Stack)是一种数据结构,它具有“先进后出”的特点。在计算机科学中,栈是一种非常常见的数据结构,常用于实现递归、括号匹配、回文判断等问题。在C++中,栈的操作实现非常简单,只需要使用STL中的stack模板类即可。

在C++中,使用stack模板类定义一个栈非常容易。我们只需要包含头文件 ,然后定义一个stack对象。例如:


#include <stack>

stack<int> s;

在上面的例子中,我们定义了一个名为s的整型栈。下面,我们来看看如何使用栈进行一些基本操作。

1. 入栈操作

入栈操作可以使用push()方法。例如:


s.push(1);

s.push(2);

s.push(3);

在上面的例子中,我们依次向栈中压入了1、2、3三个元素。

2. 出栈操作

出栈操作可以使用pop()方法。例如:


s.pop();

在上面的例子中,我们弹出了栈顶的元素3。

3. 访问栈顶元素

访问栈顶元素可以使用top()方法。例如:


int top_elem = s.top();

在上面的例子中,我们获取了栈顶的元素2。

4. 判断栈是否为空

判断栈是否为空可以使用empty()方法。例如:


bool is_empty = s.empty();

在上面的例子中,我们判断栈是否为空,并将结果存储在变量is_empty中。

通过以上四项操作,我们已经能够基本地使用栈了。下面是完整的示例代码:


#include <stack>

#include <iostream>

using namespace std;

int main()

{

  stack<int> s;

  s.push(1);

  s.push(2);

  s.push(3);

  while (!s.empty())

  {

    int top_elem = s.top();

    cout << top_elem << endl;

    s.pop();

  }

  return 0;

}

以上代码中,我们先将三个元素压入栈中,然后使用while循环遍历栈,并输出每个元素。输出结果为:


3

2

1

通过上述代码,我们已经掌握了C++中使用栈的基本操作。下一步,我们可以尝试使用栈解决一些更有挑战性的问题。

  
  

评论区

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