當前位置:首頁 » 編程語言 » c語言棧匹配括弧
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言棧匹配括弧

發布時間: 2023-03-13 18:24:31

c語言:表達式括弧匹配檢驗(壓棧,出棧)

演算法提示:
1)凡出現左括弧,則進棧;
2)凡出現右括弧,首先檢查棧是否空
若棧空,則表明該「右括弧」多餘,
否則和棧頂元素比較,
若相匹配,則「左括弧出棧」

否則表明不匹配。
3)表達式檢驗結束時,
若棧空,則表明表達式中匹配正確,
否則表明「左括弧」有餘。

❷ c語言的順序表 棧 判斷表達式括弧是否匹配

int match_kuohao(char c[i])
{
int i=0;
sequence_stack s;
init(&s); //初始化棧, &這個符號是用來修改s這個實參的值的,不然不能修改。
while(c[i]!='#')
{
switch(c[i])
{
case'{':
case'[':
case'(':push (&s,c[i]);break;
case'}':if(!empty(s)&&read(s)=='{' )
{pop(&s);break;}
else return 0; //意思就是如果遇到了右大括弧的話,那麼棧S不是空且棧頂元素是左大括弧,
//那麼就讓這個棧頂元素{出棧。
//如果棧是空的,或者說棧頂的不是{,那麼就return 0,意思也就是表達式不合法。下面同理。
case']':if(!empty(s)&&read(s)=='[' )
{pop(&s);break;}
else return 0;
case')':if(!empty(s)&&read(s)=='(' )
{pop(&s);break;}
else return 0;
}
i++;
}
return (empty(s));
}