用Python实现,采用线性数组实现队列,并利用front和rear下标分别指示队头和对尾位置,当rear下标到达数组尾部时,将队列中的所有元素平移到数组的最前端。

用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 判空.