用Python实现,采用线性数组实现队列,并利用front和rear下标分别指示队头和对尾位置,当rear下标到达数组尾部时,将队列中的所有元素平移到数组的最前端。设计此队列类,并实现主要算法。
class CircularQue:
def __init__(self,cap=10): #初始化
(请完成)
def empty(self): #判空
(请完成)
def __len__(self): #求长度
(请完成)
def append(self,item) #入队
(请完成)
def reserve(self):#出队
(请完成)
class Queue:
def __init__(self, cap=10): # 初始化
self.data = []
self.front = 0
self.rare = 0
def empty(self): # 判空
self.front = 0
self.rare = 0
def __len__(self): # 求长度
return self.rare - self.front
def append(self, item): # 入队
self.data.append(item)
self.rare += 1
def reserve(self): # 出队
if self.empty():
return None
self.front += 1
return self.data[self.front - 1]
python好象没有内置的定长数组这种数据结构, 用变长的列表很容易实现队列, 根本不需要front和rare这样的下标变量进行辅助.
你这个队列要求很别扭
python list完全可以直接实现队列的功能啊,list.append 队尾添加元素,list.pop(0)去除头元素
len(list)求长度,if list 或者 if list is none 判空.