根據入棧順序判斷出棧序列正確與否

2021-07-16 13:58:23 字數 1119 閱讀 9566

題目

鐵路的排程站如下:

火車編號為:1~9,且不重複。

如:編號分別為「1」、「2」、「3」、「4」、「5」的5個火車順序進站,那麼進站序列為「12345」,全部進站後再順序出站,則出站序列為「54321」,如果先進1,2,然後2出站,然後1出站,然後再3進站、出站,4進站、出站,5進站、出站,那麼出站序列就為21345.

詳細描述:

int judgetrainsequence (int maxnum, char *poutseq);

輸入引數:

int maxnum:進站的火車最大編號

char* poutseq:使用字串表示火車出站序列

輸出引數(指標指向的記憶體區域保證有效):

無。
返回值:

int: 根據輸入的進站序列判斷,如果輸入的出站序列是可能的,返回1,否則返回0;
練習階段: 高階**

#include #include #include using namespace std;

/*詳細描述:

int judgetrainsequence (int maxnum, char *poutseq);

輸入引數:

int maxnum:進站的火車最大編號

char* poutseq:使用字串表示火車出站序列

輸出引數(指標指向的記憶體區域保證有效):

無。返回值:

int: 根據輸入的進站序列判斷,如果輸入的出戰序列是可能的,返回1,否則返回0;

*/int judgetrainsequence (int maxnum, char *poutseq)//if

int size = strlen(poutseq);

stacktrainseq;

// 初始

int index = 1;

for(int i = 0;i < size;)//if

else//else

}//for

if(!trainseq.empty())//if

return 1;

}

根據入棧順序判斷出棧順序是否合法

題目描述 輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。思路 先將入棧序列放入佇列...

「根據入棧順序判斷可能的出棧順序」python語言

題目描述 輸入兩個整數序列,其中乙個序列表示棧的push 入 順序,判斷另乙個序列有沒有可能是對應的pop 出 順序。class stack 實現棧的功能 def init self self.items 判斷棧是否為空 def empty self return self.items none 返...

如何根據入棧序列判斷可能的出棧序列

tx面試題 題目描述 輸入兩個整數序列,其中乙個序列表示棧的push 入 序列,判斷另乙個序列有沒有可能是對應的pop 出 序列。解答 假如輸入的push序列是 1 2 3 4 5,那麼3 2 5 4 1就可能是乙個pop序列,但是5 3 4 1 2就不可能是它的乙個pop序列了。構造乙個棧 cla...