火車進出站問題 棧

2021-08-03 05:58:15 字數 571 閱讀 7713

編號為1,2,…,n的n輛火車依次進站,給定乙個n的排 列,判斷是否是合法的出站順序?

思路:先把出站順序存入,用棧模擬進站的火車,按照出站的順序,依次pop出來,判斷:最後的出站數量能否達到n。

#include

#include

#include

using

namespace

std;

const

int maxn = 1010;

stack

s;int train[maxn];

int main()

} if(b == n+1)

printf("yes\n");

else

printf("no\n");

memset(train,0,sizeof(train));

}printf("\n");

}return

0;}

火車進出站序列問題簡述

問題描述 假設有乙個站台,只有乙個進出口,有一列火車,車廂標號從頭往後依次是1,2,3,4。問火車從頭進入站台,有多少種出站台的序列。解題思路 這裡的站台可以模擬於資料結構中的棧。棧具有先進後出 後進先出的特點,因此,任何乙個排程結果應該是 全排列中的乙個元素。由於進棧的順序是由小到大的,所以出棧序...

全排列 判斷棧序 火車進出站

1 全排列 1 遞迴實現 void myfullsort vectordata,int k,int end cout endl else 2 非遞迴實現 3 運用stl中的函式next permutation include include include using namespace std s...

火車進出站加全排列

題目描述 給定乙個正整數n代表火車數量,0輸出描述 輸出以字典序從小到大排序的火車出站序列號,每個編號以空格隔開,每個輸出序列換行,具體見sample。示例1輸入複製3 1 2 3 輸出複製 1 2 3 1 3 2 2 1 3 2 3 1 3 2 1 include include include ...