关于#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; }执行起来是这样的: