簡體   English   中英

推送和彈出整數來疊加,結果是不可能的

[英]push and pop of integers to stack, what outcome is not possible

我正在嘗試使用在線課程的算法,我似乎無法理解這是如何工作的。 (這不是家庭作業,只是來自免費在線課程的問題)

有人會向我解釋如何找到答案嗎? 在練習結束時給出,但我不明白它是如何工作的。 提前致謝 ! :)

假設執行了(堆棧)推送和彈出操作的混合序列。 推動按順序推動整數0到9; pops打印出返回值。 以下哪個序列不會發生? (a)4 3 2 1 0 9 8 7 6 5

(b)4 6 8 7 5 3 2 9 0 1

(c)2 5 6 7 4 8 9 3 1 0

(d)4 3 2 1 0 5 6 7 8 9

(e)1 2 3 4 5 6 9 8 7 0

(f)0 4 6 5 3 8 1 7 2 9

(g)1 4 7 9 8 6 5 3 0 2

(h)2 1 4 3 6 5 8 7 9 0

正確答案:(b),(f)和(g)。

如果按順序推送數字,即使隨機播放的是流行音樂,也有一些事情永遠不會發生。 考慮(b):

按0,1,2,3,4,彈出4,按5,6,彈出6,按7,按8,彈出8,彈出7,彈出5,彈出3,彈出2,按9,彈出9 .. ..你不能彈出0因為一個擋路。

其他錯誤答案也是如此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM