08 双端队列

08 双端队列

# encoding: utf=8

class Deque(object):
    """双端队列"""

    def __init__(self):
        self._list = []

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

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



    def add_ront(self, item):
        """往队列头部添加一个item元素"""
        self._list.insert(0, item)

    def add_rear(self, item):
        """往队列尾部添加一个item元素"""
        self._list.append(item)


    def remove_front(self):
        """从队列头部删除一个元素"""
        return self._list.pop(0)

    def remove_rear(self):
        """从队列尾部删除一个元素"""
        return self._list.pop()


if __name__ == '__main__':
    q = Deque()
    q.enqueue(1)
    q.enqueue(2)
    q.enqueue(3)
    q.enqueue(4)
    print(q.dequeue())
    print(q.dequeue())
    print(q.dequeue())
    print(q.dequeue())

# 1 2 3 4

猜你喜欢

转载自blog.csdn.net/qq_41089707/article/details/89301550
08