双端队列:
#################队列#####################coding:utf-8"""Deque() 创建一个空的双端队列add_front(item) 从队头加入一个item元素add_rear(item) 从队尾加入一个item元素remove_front() 从队头删除一个item元素remove_rear() 从队尾删除一个item元素is_empty() 判断双端队列是否为空size() 返回队列的大小"""class Queue(object):def __init__(self):self.__list = []def enqueue(self,item):self.__list.append(item)def dequeue(self):return self.__list.pop(0)def is_empty(self):return self.__list == []def size(self):return len(self.__list)if __name__ == "__main__":s = Queue()s.enqueue(1)s.enqueue(2)s.enqueue(3)s.enqueue(4)print(s.dequeue())print(s.dequeue())print(s.dequeue())print(s.dequeue())#################双端队列####################class Deque(object):def __init__(self):self.__list = []def add_front(self, item):self.__list.insert(0,item)def add_rear(self,item):self.__list.append(item)def pop_front(self):return self.__list.pop(0)def pop_rear(self):print(" ")return self.__list.pop()def is_empty(self):return self.__list == []def size(self):return len(self.__list)if __name__=="__main__":s =Deque()s.add_rear(1)s.add_rear(2)s.add_front(3)s.add_front(4)print(s.pop_rear())print(s.pop_rear())print(s.pop_rear())print(s.pop_rear())
如果觉得《python数据结构与算法:队列与双端队列》对你有帮助,请点赞、收藏,并留下你的观点哦!