栈实现中缀转后缀,并用逆波兰方式计算
stack.js class Stack { constructor ( ) { // dataStore 保存所有数据 this . dataStore = [ ] ; // top 指示可以添加数据的“位置” this . top = 0 ; } // 当然定义栈自己的push 方法,并让顶指针加一 push ( elem ) { this . dataStore [ this . top ++ ] = elem ; } // 返回最顶部的值 peek ( ) { return this . dataStore [ this . top - 1 ] } // 出栈一个元素,即最顶部的值。并让指针减一,注意是先用后减 pop ( ) { return this . dataStore [ -- this . top ] } // 因为无论添加值、访问值、还是出栈值,都是根据this.top // 就像数组清空,直接令length=0 clear ( ) { this . top = 0 } length ( ) { return this . top ; } } 中缀转后缀 const Stack = require ( './stack.js' ) /** * 传入一个字符串类型的计算式 * @param {*} op */ function converted ( op )