import collections
#python雙端隊列 線程安全
class TaskQueue(object):
def __init__(self):
self.taskqueue = collections.deque()
#從左邊彈出
def lpop(self):
if self.size() != 0:
return self.taskqueue.popleft()
#從右邊彈出
def pop(self):
if self.size() != 0:
return self.taskqueue.pop()
def lpush(self,task):
if task not in self.taskqueue:
self.taskqueue.appendleft(task)
def rpush(self,task):
if task not in self.taskqueue:
self.taskqueue.append(task)
def show_task(self):
return self.taskqueue
def size(self):
return len(self.taskqueue)
if __name__ == '__main__':
tqueue = TaskQueue()
tqueue.rpush(12)
tqueue.rpush(1)
tqueue.rpush(2)
tqueue.rpush(12)
tqueue.rpush(1)
tqueue.lpush(12)
tqueue.lpush(1)
print tqueue.taskqueue
去重的雙端隊列
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.