数据结构实验之栈与队列七:出栈序列判定
生活随笔
收集整理的這篇文章主要介紹了
数据结构实验之栈与队列七:出栈序列判定
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
給一個初始的入棧序列,其次序即為元素的入棧次序,棧頂元素可以隨時出棧,每個元素只能入棧依次。輸入一個入棧序列,后面依次輸入多個序列,請判斷這些序列是否為所給入棧序列合法的出棧序列。
例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的一個出棧序列,但4,3,5,1,2就不可能是該序列的出棧序列。假設壓入棧的所有數字均不相等。
Input
第一行輸入整數n(1<=n<=10000),表示序列的長度。
第二行輸入n個整數,表示棧的壓入順序。
第三行輸入整數t(1<=t<=10)。
后面依次輸入t行,每行n個整數,表示要判斷的每一個出棧序列。
Output
對應每個測試案例輸出一行,如果由初始入棧序列可以得到該出棧序列,則輸出yes,否則輸出no。
Sample
Input
5
1 2 3 4 5
2
4 5 3 2 1
4 3 5 1 2
Output
yes
no
思路:
首先建立一個棧,將輸入的數據保存在數組中,一個一個的進棧,然后每一個進棧的時候都與目標序列元素相比較,當二者相等的時候,出棧,然后繼續獲取棧頂元素余下一個序列元素相比較,相等就接著比較下一個,如果不相等就繼續入棧操作,當入棧操作結束后。判斷
總結
以上是生活随笔為你收集整理的数据结构实验之栈与队列七:出栈序列判定的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构实验之栈与队列五:下一较大值(一
- 下一篇: 数据结构实验之栈与队列八:栈的基本操作