已知操作符包括‘ +’、‘ -’、‘ *’、‘ /’、‘ (’和‘ )’。将中缀表达式 a+b-a*((c+d)/e-f)+g 转换为后缀表达式 ab+acd+e/f-*-g+时,用栈来存放暂时还不能确定运算次序的操作符。若栈初始时为空,则转换过程中同时保存在栈中的操作符的最大个数是( )。
stack 操作符栈; for i=1 to n{ if 当前操作符是操作数 直接打印; else if 当前操作符是操作符{ if 当前操作符是'(' 压入栈内; else if 当前操作符是')' 不断弹出并打印栈顶元素直至栈顶为'('; 弹出栈顶; else if 当前操作符优先级高于栈顶操作符 || 栈为空 压入栈内; else 不断弹出并打印栈顶元素直至栈顶优先级不大于当前元素; 当前操作符入栈; } } 打印栈中剩余操作符;优先级从低至高:(、+-、*/、^