首先用一张图来表示栈:
栈只有一个开口,在这个开口完成入栈和出栈。并且入栈是按照顺序堆叠,先入栈的被“叠”在最下面,后入栈的在上面。想要最下面的出来,必须它的上面没有东西。即先进后出,后进先出。
下面通过Python实现栈
# 用Python实现栈
class Stack:
def __init__(self):
self.items = []
def isEmpty(self):
return self.items == []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[len(self.items) - 1]
def size(self):
return len(self.items)
另一种栈实现:
# 栈的另一种实现
class Stack:
def __init__(self):
self.items = []
def isEmpty(self):
return self.items == []
def push(self, item):
self.items.insert(0, item)
def pop(self):
return self.items.pop(0)
def peek(self):
return self.items[0]
def size(self):
return len(self.items)