c語言 括號匹配檢測(棧的應用)

2021-07-04 08:40:51 字數 971 閱讀 5107

/*

括號匹配檢測,對於一串帶括號的字元

1.如果是左括號,入棧

2.如果是右括號,與棧頂元素比較,

若形成括號對,則棧頂左括號出棧;

若不能形成括號對,則括號不能匹配

*/# include # include # define init_size 6 //初始棧空間

# define incre_size 2 //佔空間增量

//棧結構

typedef struct

stack;

stack inital(); //初始化棧

void push(stack &s, char ch); //元素入棧

void pop(stack &s, char &e); //元素出棧

bool stack_empty(stack s); //判斷棧是否為空

int main(void)

': pop(s, e); //讀入右括號,與棧頂的左括號e匹配

if( !((e == '(' && *p == ')') || (e == '[' && *p == ']') || (e == '')))

p ++;

break;

default:

p ++;

} }if(stack_empty(s)) //棧是否為空,為空,則匹配成功

else

return 0;

}//初始化棧

stack inital()

//入棧

void push(stack &s, char ch)

*(s.top) = ch;

s.top ++;

}//出棧

void pop(stack &s, char &e)

}//判斷棧是否為空

bool stack_empty(stack s)

括號匹配檢測 棧的應用

周一是我女朋友的生日,無奈公司的介面需要我去除錯,心裡也確實放不下公司的事情,結果週末兩天都在公司除錯加班,今天周一我和女友都上班,唉,太感謝我女友了,乙個男人的高度很大程度上取決於身邊的女人啊,祝我寶貝璐璐生日快樂。在某個字串 長度不超過100 中有左括號 右括號和大小寫字母 規定 與常見的算數式...

C 括號匹配檢測(用棧)

輸入一串括號,包括圓括號和方括號,判斷是否匹配,即 或 為匹配的正確的格式,或 為不匹配的格式。1 include2 include 3 include4 using namespace std 5int main 623 else 24goto breakloop 25case if s.empt...

棧的應用 檢測小括號是否匹配( C語言實現)

測試的字串 演算法思路 從第乙個字元開始掃瞄 當遇見普通字元時忽略 當遇見左括號時壓入棧中 當遇見右括號時從棧中彈出棧頂符號,並進行匹配 匹配成功 繼續進入下乙個字元 匹配失敗 立即停止,並報錯 結束 成功 所有字元掃瞄完畢,且棧為空 失敗 匹配失敗或所有字元掃瞄完畢但棧非空 中棧的函式 inclu...