栈是先进后出
队列先进先出
栈示意图(顺便治治颈椎):
队列示意图:
栈实现代码:
class Stack(object):
def __init__(self):
self.stack = []
def push(self, v):
self.stack.append(v)
def pop(self):
if self.stack:
# 推出栈
return self.stack.pop()
else:
raise LookupError("stack is empty")
def is_empty(self):
return bool(self.stack)
def top(self):
return self.stack[-1]
队列实现代码:
class Head(object):
def __init__(self):
self.right = None
self.left = None
class Node(object):
def __init__(self, value):
self.value = value
se