如何在C ++中列出堆栈?

Yadhu南丹

我正在尝试使用下面的代码列出C ++中的堆栈,但出现错误

main.cpp:17:13: error: ‘__gnu_cxx::__alloc_traits > >::value_type {aka class std::stack}’ has no member named ‘push_back’
 vs[i-1].push_back(s);

码:

#include <bits/stdc++.h>
using namespace std;

int main()
{
vector<stack<int>> vs;

for(int i=1; i<4; i++)
{
stack<int> s;
s.push(i*2);
s.push(i*3);
s.push(i*4);
vs[i-1].push_back(s);
}

return 0;
}
德鲁夫·科塔里(Dhruv Kothari)

您不能使用此行:-

vs[i-1].push_back(s);

请先定义列表的大小。例如

vector<stack<int> > vs(100);

否则只写

vs.push_back(s);

更新的解决方案

#include <iostream>
#include<stack>
#include<vector>
using namespace std;
 
int main()
{
    vector< stack<int> > vs;
 
for(int i=1; i<4; i++)
{
    stack<int> s;
    s.push(i*2);
    s.push(i*3);
    s.push(i*4);
    vs.push_back(s);
}
 
return 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章