class Stack():
__slots__ = '__items'
def __init__(self):
self.__items=[]
def push(self,e):
self.__items.append(e)
def is_empty(self):
return self.__items==[]
def pop(self):
if self.is_empty():
return False
else:
return self.__items.pop()
def peek(self):
return self.__items[len(self.__items)-1]
"""
op的优先级高于栈顶元素——>直接将op进栈
op的优先级低于栈顶元素——>栈顶元素出栈并保存到后缀表达式中直到op优先级高于栈顶元素——>op进栈
'('在栈外优先级最高在栈内优先级最低
同样的运算符栈里的优先级比栈外的高
"""
def trans(exp):
"""中缀表达式转换成后缀表达式"""
optr=Stack()
postexp=[]
i=0 #i作为exp的下标
while i<len(exp)
中缀表达式转换为后缀表达式并求值(python)
最新推荐文章于 2024-07-31 14:30:10 发布