題目
鐵路的排程站如下:
火車編號為: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...