從前往後遍歷字串,當遇到左括號時進棧,遇到右括號時先判斷棧是否為空,若為空,則輸出no,繼續下一迴圈;若不為空,看棧頂元素是否和其匹配,若匹配,則刪掉棧頂元素,繼續往後遍歷字串。最後若棧為空,則匹配完全,輸出yes,否則輸出no。
#include #include char st[55];
char stac[55];
int main()
') else
'&&stac[top-1]=='}}
if(flag) //因為前面也是top=0時輸出的no,若沒有這句,會再次輸出yes.
continue;
if(top==0)
printf("yes\n");
else
printf("no\n");
}return 0;
}
棧之 括號匹配(sdut oj2134)
time limit 1000ms memory limit 65536k 給你一串字元,不超過50個字元,可能包括括號 數字 字母 標點符號 空格,你的任務是檢查這一串字元中的 是否匹配。輸入資料有多組,處理到檔案結束。如果匹配就輸出 yes 不匹配輸出 no sin 20 10 yesno提示 ...
2134資料結構實驗之棧與佇列四 括號匹配
資料結構實驗之棧與佇列四 括號匹配 time limit 1000 ms memory limit 65536 kib problem description 給你一串字元,不超過50個字元,可能包括括號 數字 字母 標點符號 空格,你的任務是檢查這一串字元中的 是否匹配。input 輸入資料有多組...
列印匹配括號
開始抽空做一些演算法題,留下記錄作為菜鳥的成長見證吧。這道題來自於cracking the coding interview,要求列印n對括號的所有可能匹配。我採用遞迴來做,這樣編寫比較方便而且容易弄懂,但用迭代應該會效率快不少而且遞迴一定能轉換成迭代吧,以後有空研究下 如下 include std...