单生产者单消费者循环队列

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 
发布了23 篇原创文章 · 获赞 0 · 访问量 2009

猜你喜欢

转载自blog.csdn.net/qq_33913982/article/details/104304270
今日推荐