括號配對 c(棧)

2021-07-15 13:48:36 字數 659 閱讀 9042

/*輸入一行字串,都為括號,判斷是否匹配.只有{} () <>這些。

輸入第一行k測試資料組數

之後1~k+1行為一行字串 長度<=100

輸出yes or no

樣例輸入

3(<>(){})

((()))

<)

樣例輸出

yesyes

no*/

#include

#include

#include

using namespace std;

stackx;

int main()

else

else

}}if(x.top()=='a')                      //判斷是否達到了棧低;

else

x.pop();

}return 0;

對於這一道題,是比較簡單的一道關於棧的題目,適應於比較基礎的棧的學習 ;

首先定義s;,這樣的乙個棧,棧的要求是  先進後出,這一點需要注意下;

這一道題 我是根據ascii碼寫的,要知道()之間的ascii碼相差位一,其餘三種括號的ascii相差為二;

根據這一點用棧中的字元與輸入的字串進行比較;第一步 將首個字元壓入棧-->比較-->判斷是否為棧開始壓入的字元;

棧 括號配對

include include include include typedef char datatype include int match datatype e,datatype ch void main 的括號表示式 n gets ch p ch p指向輸入的括號表示式 while p 判斷p...

括號配對問題 棧

時間限制 3 sec 記憶體限制 128 mb 提交 3 解決 2 提交 狀態 討論版 現在,有一行括號序列,請你檢查這行括號是否配對。第一行輸入乙個數n 0每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 3 no noyes 解題思路 用c 的庫函式,...

nyoj 括號配對問題(棧)

括號配對問題 時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述現在,有一行括號序列,請你檢查這行括號是否配對。輸入 第一行輸入乙個數n 0 輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 nono ye...