某城市有一个火车站,有n节车厢从A方向驶入车站,按进站的顺序编号为1~n。现让它们按照某种特定的顺序进入B方向的铁轨并驶出车站。为了重组车厢,你可以借助中转站C。在程序中输入车厢数目和出站的特定顺序,如果可以则输出Yes,否者输出No。
样例输入:
5
1 2 3 4 5
5
5 4 1 2 3
6
6 5 4 3 2 1
样例输出:
Yes
No
Yes
[分析]
因为栈只有一端生长 ,所以实现栈时只需要一个数组stack和栈顶指针top(始终指向栈顶元素) 。为了方便起见,这里使用的数组下标均从1开始。
[1] 使用数组模拟栈。
[2] 使用STL中的stack实现。