当0 ,1 ,2入栈.
3与2匹配成功,则2出栈.
4与1匹配成功,则1出栈.
5与0匹配成功,0出栈....情况2:
左字符串依次入栈,右字符串依次出栈,最后字符遍历结束,而栈也是空栈,则表示括号匹配成功....当0 ,1 ,2 ,3入栈.
4与3匹配成功,则3出栈.
5与2匹配成功,则2出栈.
6与1匹配成功,则1出栈.
7与0匹配成功,则0出栈....此时栈为NULL,且字符串遍历结束.返回true.
情况3:(左括号过多或者未匹配成功)
左括号过多,即使右括号用完(这个例子没用完),字符串遍历结束,栈中仍有元素(左括号未找到匹配)....;
}
return false;
}
//返回栈顶元素
stacktype STTop(ST* ps)
{
assert(ps);
return ps->data[ps->top];//反追栈顶元素