三個括號匹配

2021-08-24 19:51:53 字數 1126 閱讀 6299

演算法:假設表示式中包含兩種括號:圓括號、方括號和大擴號。檢驗括號是否匹配可以用堆疊來實現當遇到 ( 或 [或時出棧進行匹配檢驗,如果出現不匹配的情況立即結束,否則繼續取下乙個字元。如果沒有遇到不匹配的情況,最後判斷棧是否為空,棧為空,括號匹配,否則不匹配

源**:

#include #include #include #define true 1

#define false 0

#define ok 1

#define error 0

#define overflow -2

#define null 0

typedef int status;

#define stack_init_size 100

#define stackincrement 10

typedef char selemtype;

typedef structsqstack;

status initstack(sqstack &s)//initstack

status push(sqstack &s, selemtype e)

*s.top++=e; //top指向待插入位置

return(ok);

}//push

status pop(sqstack &s,selemtype &e)

status stackempty(sqstack s)//stackempty

status match(char *str ) ':

if(stackempty(s))

else}

case ']':

if(stackempty(s))

else}

case ')':

if(stackempty(s))

else}

default :break;

}//switch

if(count==0&&stackempty(s))

printf("the string is match!\n");

else printf("the string is not match!\n");

return ok; }}

void main()

寒假集訓三,括號匹配問題

給定一串由 和組成的字串。如果我們規定以下的字串是合法的字串 1 空串是合法的字串 2 如果a b都是合法的,那麼ab也是合法的字串。3 如果a是合法的,那麼 a 和 a 都是合法的字串。也就是說,所有左右括號必須配對,且不能 切開括號 如 或 輸入輸入先是乙個正整數n,代表有n個字串。接下來是n行...

漢語中「三個三個的,你認識多少?」

三個金念鑫 x n 三個水念淼 mi o 三個火念焱 y n 三個土念垚 y o 三個牛念犇 b n 三個手念掱 p 三個目念瞐 m 三個田念畾 l i 三個馬念驫 bi o 三個羊念羴 sh n 三個犬念猋 bi o 三個鹿念麤 c 三個魚念鱻 xi n 三個貝念贔 b 三個力念劦 lie 三個毛...

整數從右到左正則匹配 隔三個加乙個逗號

我自己開始的時候,寫的以下 但是不行 43123456789 replace d g,1 2 43,123456789 43123456789 replace d g,1 2 3 43,123456789 789 2中,開始一直沒有明白為什麼有問題,現在理解了。2的正則是 全域性匹配 多個3個數字 ...