十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、1)凡出现左括弧,则进栈;2)凡出现右括弧,首先检查栈是否空 若栈空,则表明该“右括弧”多余,否则和栈顶元素比较,若相匹配,则“左括弧出栈”,否则表明不匹配。
成都创新互联专业为企业提供横峰网站建设、横峰做网站、横峰网站设计、横峰网站制作等企业网站建设、网页设计与制作、横峰企业网站模板建站服务,10余年横峰做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
2、函数返回值类型不能是Status,Status只是泛指类型,至于具体用什么类型,你应该根据实际情况而定。比如你的第一个函数Status InitStack(SqStack &S) ,可以改为int InitStack(SqStack &S) ,其它的你自己根据情况定了。
3、其实括号匹配功能关键就在于左右大括号小括号的位置以及数量判断。根据实例分析一下很快就能写好算法。
1、如果不为空,在返回栈顶元素,如果匹配,即为“(”或者“[”,就删除栈顶元素,然后重复。当栈变空了,说明你的括号都配对了,也就YES了。如果途中出现不配对的情况,就直接返回NO。
2、函数返回值类型不能是Status,Status只是泛指类型,至于具体用什么类型,你应该根据实际情况而定。比如你的第一个函数Status InitStack(SqStack &S) ,可以改为int InitStack(SqStack &S) ,其它的你自己根据情况定了。
3、不用栈的作法:算法思想是,每次寻找一对匹配的括号(这一对匹配的括号位置是挨着的),并将这对匹配的括号从原字符串中删除。
1、单纯比较括号个数就行。但无法测试表达式正确。
2、只要在main函数中的定义改成下面这样 char a,*b=(char*)malloc(1*sizeof(char));你的代码就能运行了,不会再出现以上的提示了。不过运行结果,应该和你设计的不一样。
3、函数返回值类型不能是Status,Status只是泛指类型,至于具体用什么类型,你应该根据实际情况而定。比如你的第一个函数Status InitStack(SqStack &S) ,可以改为int InitStack(SqStack &S) ,其它的你自己根据情况定了。
4、如果不为空,在返回栈顶元素,如果匹配,即为“(”或者“[”,就删除栈顶元素,然后重复。当栈变空了,说明你的括号都配对了,也就YES了。如果途中出现不配对的情况,就直接返回NO。
5、了解一下数据结构中的栈(其实就是后入先出),你就知道该怎么实现了。