class My_queue:
def __init__(self):
self.items = []
def push_stack(self, item):
return self.items.append(item)
def pop_stack(self):
if (len(self.items) >= 1):
return self.items.pop()
else:
return None
def solu(self, push_list, pop_list):
len_push_list = len(push_list)
i = 0
j = 0
k = 0
while len_push_list - 1 >= (i):
self.push_stack(push_list[i])
# print(self.items,"*")
k = k + 1
# print("k={}".format(k))
while self.items[k - 1] == pop_list[j] and len(self.items) != 0 and len(pop_list) != 0 and k > 0:
self.pop_stack()
# print(self.items, "&&&")
k = k - 1
del pop_list[j]
# print(pop_list)
if len(pop_list) == 0:
break
i = i + 1
if len(pop_list) == 0:
print("这是一个可能的出栈序列")
else:
print("这不是一个出栈序列")
if __name__ == "__main__":
a = My_queue()
push_list = [1, 2, 3, 4, 5]
pop_list = [5, 4, 3, 2, 1]
a.solu(push_list, pop_list)