关于#include<stack>的使用问题
本人刚学数构,在使用这个关于栈的函数时有些疑问,我用stack<elem> q申明了q这个变量,其中elem是一个包含有的一个一维字符数组的结构体。就q这个变量我做完没问题,但是如果是输入多组的字符串,要进行存储的话,没办法一个个申请变量。所以用这个《stack》函数还能实现这种输入码。
程序代码:#include <iostream>
#include <stack>
using namespace std;
struct elem { char name[20]; };
istream &operator >> (istream &in, elem &e)
{ return in >> e.name; }
ostream &operator << (ostream &out, const elem &e)
{ return out << e.name; }
int main(int argc,char* argv[])
{
elem e;
stack<elem> s;
for (int i = 0; i < 3; i++)
{
cin >> e;
s.push(e);
}
for (;!s.empty();s.pop())
cout << s.top() << endl;
return 0;
}
执行起来是这样的: