python数据结构之队列(二)

书接上文,双端队列区别于单队列为:双端队列可以对队列头和尾部同时进行操作,单队列不行

#coding:utf-8
class DoubleQueue(object):
    def __init__(self):
        self.list=[]
    def empty(self):
        return self.list==[]
    def queue_front(self,item):
        #头部添加
        self.list.insert(0,item)
    def queue(self,item):
        #正常添加
         self.list.append(item)
    def remove_queuefornt(self):
        #正常删除
        return self.list.pop(0)

    def remove_end(self):
        """从队尾删除元素"""
        return self.list.pop()
    def size(self):
        return len(self.list)

if __name__=="__main__":
    s=DoubleQueue()
    s.queue_front(1)
    s.queue_front(2)
    s.queue(3)
    s.queue(4)
    print(s.remove_queuefornt())
    print(s.remove_queuefornt())
    print(s.remove_end())
    print(s.remove_end())
posted @ 2018-08-18 21:28  kailicard  阅读(109)  评论(0编辑  收藏  举报