当前位置:首页 » 编程语言 » 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));
}