2018-01-19  本文已影响4人  维乾

官方定义:栈是一个后进先出的线性表,它只要求尾部进行删除和插入操作。对于栈来说,这个表尾成为栈的栈表(top)相应的表头称为栈底。

栈的顺序存储结构(注意top指的栈顶是没有数据的。而存放数据顶部应该是top-1个位置)


栈的顺序存储结构创建

(http://haoran-10.iteye.com/blog/1490811)

逆波兰表达式(后缀表达式)

例子:a+b ---> a,b,+           a+(b-c) ---> a,b,c,-,+             a+(b-c)*d ---> a,b,c,-,d,*,+          a+d*(b-c)--->a,d,b,c,-,*,+           a=1+3 ---> a,1,3,+,=

优势 :它的优势在于只用两种简单操作,入栈和出栈就 可以搞定任何普通表达式的运算。其运算方式如下:

如果当前字符为变量或者为数字,则压栈,如果是运算符,则将栈顶两个元素弹出作相应运算,结果再入栈,最后当表达式扫描完后,栈里的就是结果。

上一篇下一篇

猜你喜欢

热点阅读