如何打印 std::stack 的内容并返回其大小?

How can I print out the contents of std::stack and return its size?(如何打印 std::stack 的内容并返回其大小?)

本文介绍了如何打印 std::stack 的内容并返回其大小?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 c++ 中如何打印堆栈的内容并返回其大小?

In c++ how can I print out the contents of my stack and return its size?

std::stack<int>  values;
values.push(1);
values.push(2);
values.push(3);

// How do I print the stack?

推荐答案

您可以复制堆栈并一个接一个地弹出项目以转储它们:

You could make a copy of the stack and pop items one-by-one to dump them:

#include <iostream>
#include <stack>
#include <string>

int main(int argc, const char *argv[])
{
    std::stack<int> stack;
    stack.push(1); 
    stack.push(3); 
    stack.push(7); 
    stack.push(19); 

    for (std::stack<int> dump = stack; !dump.empty(); dump.pop())
        std::cout << dump.top() << '
';

    std::cout << "(" << stack.size() << " elements)
";

    return 0;
}

输出

19
7
3
1
(4 elements)

这篇关于如何打印 std::stack 的内容并返回其大小?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何打印 std::stack 的内容并返回其大小?

基础教程推荐