//特别细节的错误: back() called on empty queue
//while条件处,s.empty()与s.top()==v[cnt]先后有着严格的逻辑问题
//如果先判断top,即报错时的代码
//会因为s可能为空,导致s.top()处出现问题
//故s.empty()必须在前,同时,使用s.top()请注意栈是否为空
//empty()函数,如果为空返回1
//如果栈顶元素与输入情况的第一项相同,即该栈顶元素可以出栈了
while (!s.empty() && s.top() == v[cnt]) {
s.pop();
cnt++; //出栈次数增加
}
问题来源: 浙大数据结构2021秋 02-线性结构4 Pop Sequence (25 分)
主要问题: top()的使用,必须保证栈不为空