栈的性质是后进先出 有数组栈 链栈 下面我将用栈实现括号匹配问题 至于栈相关函数这里就省略(c语言版)
void ALl bracket(char *s)
{
ST st;
initiate(&st);
while(*s)
{
if(*s==( ||*s==[ || *s=={)
{
pushstack(&st, *s);
s++;
}
else{
char top = getstacktop(&st);
popstack(&st);
if(stackempty(&st))
{
return false;
}
if((*s==)&&top!=( || (*s==}&&top!={ || (*s==] &&top!=[ ))))
{
destroy(&st);
retuen false;
}
else
{
++s;
}
}
}
int ret =stackenpty(&st);
destroy(&st);
return ret;
}
本人是新手 以上若有错误请告知