栈
文章平均质量分 54
不知心动
这个作者很懒,什么都没留下…
展开
-
栈的应用之中缀表达式转后缀表达式及后缀表达式的计算
问题引入:在计算机中,后缀表达式的运行效率要高于中缀表达式,而中缀表达式转后缀表达式可以通过栈来实现,那么什么是中缀表达式和后缀表达式呢?中缀表达式中缀表达式其实就是我们平常使用的一些计算的式子,比如a+b,ab,或者再稍微复杂一点的a+bc-d/e后缀表达式后缀表达式是将操作符至于操作数之后的一种式子,运算规则是遇到操作符将前面两个操作数进行相应的运算(一般情况下操作符是二目运算符,这里的也只以二目运算符为例),比如上面的中缀表达式转换成对应的后缀表达式,分别是:ab+,ab*,abc*+de/原创 2021-11-14 22:59:59 · 536 阅读 · 0 评论 -
栈的应用之分隔符匹配问题(Java实现)
问题引入在Java的表达式中分隔符有左分隔符("(","{","[","/*")和 右分隔符(")","}","]","/"),那么我们应该怎样编写一个程序来判断一个字符串表达式中的分隔符是否完全匹配呢?算法分析在解决分隔符匹配问题中常见的错误思想:通过两个计数器分别记录左分隔符和右分隔符的个数,如果扫描完字符串两个计数器记录的值相等则认为分隔符是匹配的。通过这种算法得到的结果其实很有可能是错误的,因为这种算法并没有考虑分隔符匹配具有的先后性,像"))(("这样的字符串得到的结果也会是匹配的,但是很原创 2021-10-16 12:22:14 · 421 阅读 · 1 评论 -
栈——初步认识(Java实现)
今天来学习一下一个比较常用的数据结构——栈栈栈其实就是一个线性表,只不过比较特殊,特殊在它的插入删除操作都只在栈顶进行,符合后进先出(LIFO)的规则ADT(抽象数据类型)一个栈基本要实现的功能有哪些呢?一个栈要实现的基本的功能有:将栈置空,判断栈是否为空,获取栈的长度,获取栈顶元素,出栈(同时获取出栈的栈顶元素)知道这些就定义栈的接口IStack了:public interface IStack { public void clear();//置空 public boolean isEm原创 2021-10-16 11:43:49 · 303 阅读 · 0 评论