计算器栈实现原理
1.为什么要使用栈来实现计算器?
在计算过程中由于计算拥有优先级关系,比如先乘除后加减,但是计算机读一段表达式只能一遍一遍并且一个一个的读,比如:3+2*4,我们直到要先将2*4算出之后才能和3相加,但是计算机在读这段表达式的时候只能一个读符一个字符的读,比如读到2就只能记住以前读到的结果,而无法预知以后的结果,所以在读完3+2时就只能计算3+2,而无法预知2*4要先进行计算。
栈就是一种用来储存数据的结构,他是一种类似于弹夹的数据结构,将子弹一颗一颗往里面装,最开始装进去的子弹,最后打出来。
有了栈之后便可以将表达式压栈之后根据运算符优先级关系来将栈中的内容有规律的取出,比如+-运算符优先级最低,那么最后将被压在栈底,而栈的顶部则