栈和队列都是线性数据结构
栈:又称堆栈,是一种容器,它的特点是只允许一端输入、输出数据,类似与杯子
栈的实现有多种,比如说通过顺序表和链表来实现,无论是哪种数据存储方式,只要禁掉部分方法,使得容器只能从一端加入、删除数据,那么 这种结构就是栈。
栈的操作
class stack(object):
def __init__(self):
self.__list = []
def push(self,item):
self.__list.append(item)
def pop(self):
self.__list.pop()
def peek(self):
if self.__list:
return self.__list[-1]
else:
return None
def is_empty(self):
if self.__list:
return False
else:
return True
def size(self):
return self.__list.__len__()
队列:只能在一端插入,另外一端删除。
用列表实现队列如下
测试代码
双端队列