class Deque:
def __init__(self,length:int):
assert (length>1)
self.length = length
self.deque_buffer = [None] * self.length
self.pop_index = 0
self.push_index = -1
def push(self,value):
if self.push_index - (self.length - 1) >= self.pop_index:
return false
self.push_index = self.push_index + 1
self.deque_buffer[self.push_index % self.length] = value
return true
def pop(self):
if self.pop_index > self.push_index:
return None
value = self.deque_buffer[self.pop_index%self.length]
self.pop_index = self.pop_index + 1
return value
单生产者单消费者循环队列
猜你喜欢
转载自blog.csdn.net/qq_33913982/article/details/104304270
今日推荐
周排行