C語言資料結構 判斷出棧序列合法性

2022-06-24 08:48:08 字數 566 閱讀 5958

同時定義乙個棧,每次壓入乙個元素到棧中,對比棧頂元素和隊頭元素是否相等,若相等則出棧當前元素並且出隊出棧序列

若當前棧頂元素不等於佇列頭元素,則持續壓棧

#include#include

bool check(int popped,int

pushed)

,top=-1;//

設定乙個棧

int pop=0;//

設定top1在popped中游走,popped表示彈棧的序列

for(int i=0;i<5;i++)//

i在入棧序列之中遊走

}if(top==-1

)

return

true

;

else

return

false;}

intmain();

int popped[5]=;

bool is_true=check(popped, pushed);

printf(

"%d\n

",is_true);

}

棧 出棧序列合法判斷 C

題目給定乙個從1開始的連續整數列1 2 3 4 n。將上述數列按順序入棧,中途棧頂元素可以出棧。再給定乙個出棧序列,判斷此序列是否合法。例如,將n設為4。即得到數列1 2 3 4。再給定出棧序列1 3 4 2。可以看出,此齣棧序列合法。過程如下,先將數列1 2 3 4中的元素1入棧,再將其出棧。然後...

判斷出棧序列是否合法

問題描述 對於乙個棧,已知元素的進棧序列,判斷乙個由棧中所有元素組成的排列是否是可能的出棧序列。比如,進棧序列為1 2 3 4,則可能的出棧序列有4 3 2 1,1 4 3 2等。而1 4 2 3就不是。輸入形式 從標準輸入讀取第一行是乙個整數n 3 n 10 代表有n個元素,其進棧序列是1 2 3...

判斷出棧序列是否合法

輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。注意 這兩個序列的長度是相等的 ...