21xrx.com
2024-11-08 22:14:24 Friday
登录
文章检索 我的文章 写文章
C++中如何输出栈(Stack)?
2023-07-02 13:54:59 深夜i     --     --
C++ 输出 Stack

栈(Stack)是一种重要的数据结构,它是一种后进先出(Last In First Out, LIFO)的结构。在C++中,栈是一个容器,类似于数组,但是它只能在末尾添加和删除元素。

C++提供了多种方法来输出栈中的元素。下面介绍一些常见的方法:

1. 使用循环输出

使用循环可以遍历栈中的所有元素,并逐个输出。具体实现可以通过从栈底到栈顶依次访问元素,也可以通过从栈顶到栈底依次访问元素。以下是从栈顶到栈底依次访问输出的示例代码:


#include <iostream>

#include <stack>

using namespace std;

int main()

{

  stack<int> myStack;

  myStack.push(1);

  myStack.push(2);

  myStack.push(3);

  while (!myStack.empty()) {

    cout << myStack.top() << endl;

    myStack.pop();

  }

  return 0;

}

在这个示例代码中,我们使用了C++的标准头文件stack,创建了一个stack类型的容器myStack。然后,我们按照顺序向栈中添加了3个int类型的元素1、2和3。接着,在while循环中,我们使用了栈的top()方法获取栈顶元素,并在每次循环结束后删除栈顶元素。

2. 使用迭代器输出

除了循环遍历,我们还可以使用C++的标准迭代器来输出栈中的元素。下面是一个使用反向迭代器输出栈元素的示例:


#include <iostream>

#include <stack>

using namespace std;

int main()

{

  stack<int> myStack;

  myStack.push(1);

  myStack.push(2);

  myStack.push(3);

  for (auto itr = myStack.rbegin(); itr != myStack.rend(); ++itr) {

    cout << *itr << endl;

  }

  return 0;

}

在这个示例代码中,我们使用了栈的反向迭代器rbegin()和rend(),从栈顶到栈底依次输出元素。

总结

无论是使用循环还是使用迭代器,C++中都提供了多种方法来输出栈中的元素。但需要注意的是,由于栈的特殊性质,我们通常不建议随机访问栈中的元素。因此,在输出栈的元素时,应该以栈底到栈顶或栈顶到栈底的方式依次输出。

  
  

评论区

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