关于stack,我的理解为一种暂存方式。例题中火车进站是一种很好的比喻。
几列火车排队过来,一部分需要进站等候乘客 一部分则可以直接离开。进站的火车出站时有先进后出的顺序,而未进站的火车则可在站内火车之前或之后直接离开,所以 经过站的这些火车,离开时便有了一定的顺序。
E2的题目我根本就看不懂,请教了学霸以后勉强有一点头绪。定义出两个栈,首先将一组数据放进栈1里
stack<int>s1,s2;
int num[5];
for(i=0;i<=4;i++){
num[i]=s1.top();
s1.pop();
}
然后就是将栈1中的数原封不动入栈2,然后删除栈1内的数使其还原。
for(i=0;i<4;i++){
s1.push(num[[i]);
s2.push(num[i]);
s1.pop();
}
好吧。。根本还是不理解题目,编程开头结尾的那些细节我也不太清楚……
深感能力不足…