class ArrayQueue(object):
def __init__(self,initsize):
if initsize<0:
raise Exception('WRONG')
self.arr = [0 for i in range(initsize)]
self.size = 0
#size代表数组中元素的个数
self.start = 0
#把start位置的数弹出去
self.end = 0
#把数放到end上去
def push(self,item):
if self.size==len(self.arr):
raise Exception('queue is full')
self.arr[self.end] = item
self.size+=1
self.end = 0 if self.end == len(self.arr)-1 else self.end+1
return self.arr
def pop(self):
if self.size==0:
raise Exception('queue is empty')
first = self.start
self.start = 0 if self.start==len(self.arr)-1 else self.start+1
return self.arr[first]
def peek(self):
if self.size==0:
return None
return self.arr[self.start]
if __name__ == '__main__':
a = ArrayQueue(3)
a.push(1)
a.push(2)
b = a.push(3)
print(b)
c = a.pop()
print(c)
e = a.peek()
print(e)