数据结构_队列(普通队列和双端队列)

队列
'''
Queue()         创建一个空队列
enqueue(item)   添加元素
dequeue()       从队列头部删除一个元素
is_empty()      判断一个队列是否为空
size()          返回队列的大小
'''
class Queue(object):
    '''队列'''
    def __init__(self):
        self.items = []

    def is_empty(self):
        return self.items == []

    def enqueue(self,item):
        '''进队列'''
        self.items.insert(0,item)

    def dequeue(self):
        '''出队列'''
        return self.items.pop()

    def size(self):
        '''返回队列的大小'''
        return len(self.items)

双端队列
'''
Deque()             创建一个空的双端队列
add_front(item)     从队头加入一个item元素
add_rear(item)      从队尾加入一个item元素
remove_front()      从队头删除一个item元素
remove_rear()       从队尾删除一个item元素
is_empty()          判断双端队列是否为空
size()              返回队列的大小
'''

class Deque(object):
    '''双端队列'''
    def __init__(self):
        self.items = []

    def is_empty(self):
        """判断队列是否为空"""
        return self.items == []

    def add_front(self,item):
        """在队头添加元素"""
        self.items.insert(0,item)

    def add_rear(self,item):
        """在队尾添加元素"""
        self.items.append(item)

    def remove_front(self):
        """从队头删除元素"""
        return self.items.pop(0)

    def remove_rear(self):
        """从队尾删除元素"""
        return self.items.pop()

    def size(self):
        """返回队列大小"""
        return len(self.items)

2020-05-07

原文地址:https://www.cnblogs.com/hany-postq473111315/p/12845346.html