python自带的list可以很方便的操作数据的插入与删除,实现起来还是比较简单的。不过多花费时间,接下来两篇实现二叉树与图。
栈的相关操作,list自带的append与pop函数基本就解决了。
class Stack(object):
def __init__(self):
self.item = []
def __len__(self):
return len(self.item)
def insert(self, data):
self.item.append(data)
def print_data(self):
print(self.item)
def pop(self):
return self.item.pop()
def get_top(self):
if len(self) < 0:
return None
else:
return self.item[-1]
def destroy_stack(self):
self.item = []
def is_empty(self):
return len(self) > 0
队列,先进先出,FIFO,first in first out,除了插入与pop其他跟栈是一样的。
class Queue(object):
def __init__(self):
self.item = []
def insert(self, data):
self.item.insert(0, data)
def pop(self):
return self.item.pop()