棧之 括號匹配(sdut oj2134)

2021-07-16 00:04:13 字數 993 閱讀 8189

time limit: 1000ms memory limit: 65536k

給你一串字元,不超過50個字元,可能包括括號、數字、字母、標點符號、空格,你的任務是檢查這一串字元中的( ) ,[ ],是否匹配。

輸入資料有多組,處理到檔案結束。

如果匹配就輸出「yes」,不匹配輸出「no」

sin(20+10)]

yesno
提示

#include #include #include #include #include using namespace std;

char aa[60], ss[60];

int main()

') '||k == '['&&aa[i] == ']')

continue;

else

break;}}

if(top == -1)

printf("yes\n");

else

printf("no\n");

}return 0;}2:

#include#define maxsize 51

struct stack

s ;int match(char c1, char c2)

')||(c1=='('&&c2==')')||(c1=='['&&c2==']'))

return 1 ;

else

return 0 ;

}int m(char *str)

': c = s.a[s.top] ;

if(match(c, str[i]))

s.top-- ;

else

return 0 ;}}

if(s.top==-1)

return 1;

else return 0 ;

}int main()

return 0 ;

}

SDUTOJ 2134 括號匹配

從前往後遍歷字串,當遇到左括號時進棧,遇到右括號時先判斷棧是否為空,若為空,則輸出no,繼續下一迴圈 若不為空,看棧頂元素是否和其匹配,若匹配,則刪掉棧頂元素,繼續往後遍歷字串。最後若棧為空,則匹配完全,輸出yes,否則輸出no。include include char st 55 char sta...

棧之應用 括號匹配

一 括號匹配的四種可能性 左右括號配對次序不正確 右括號多於左括號 左括號多於右括號 左右括號匹配正確 二 測試 char a abc 左右括號次序匹配不正確 char b abc 右括號多於左括號 char c abc 左括號多於右括號 char d abc 左右括號匹配正確 三 大概思路 1 判...

括號匹配 棧

蒜頭君在紙上寫了乙個串,只包含 和 乙個 能唯一匹配乙個 但是乙個匹配的 必須出現在 之前。請判斷蒜頭君寫的字串能否括號完全匹配,如果能,輸出配對的括號的位置 匹配的括號不可以交叉,只能巢狀 一行輸入乙個字串只含有 和 輸入的字串長度不大於 50000 如果輸入括號不能匹配,輸出一行 no 否則輸出...