zoukankan      html  css  js  c++  java
  • python实现循环列表

    class Loop_Queue2(object):
        '''
        实现循环列表
        '''
        def __init__(self,maxsize):
            '''
            初始化,命令头部元素的序号,尾部元素的序号,定义序列列表
            :param maxsize: 传入列表的最大长度
            '''
            self.queue=[None]*maxsize
            self.maxsize=maxsize
            self.front=0
            self.rear=0
    
        def getSize(self):
            '''
            获取循环列表的长度
            :return: 循环队列的长度
            '''
            return (self.rear-self.front+self.maxsize)%self.maxsize
    
        def enQueue(self,data):
            '''
            向循环队列的队尾插入数据
            :param data: 插入的值
            :return: None
            '''
            if (self.rear+1)%self.maxsize==self.front:
                print("The queue is full")
            else:
                self.queue[self.rear]=data
                self.rear=(self.rear+1)%self.maxsize
    
        def deQueue(self):
            '''
            从队首删除一个元素
            :return: 删除元素
            '''
            if self.rear==self.front:
                print("The queue is empty!")
            else:
                data=self.queue[self.front]
                self.queue[self.front]=None
                self.front=(self.front+1)%self.maxsize
                return data
    
        def showQueue(self):
            '''
            打印出队列
            :return: None
            '''
            for i in range(self.maxsize):
                print(self.queue[i],end=",")
            print("")
    
    if __name__=="__main__":
        q=Loop_Queue2(15)
        for i in range(15):
            q.enQueue(i)
        q.showQueue()
        for i in range(15):
            q.deQueue()
        q.showQueue()
        for i in range(8):
            q.enQueue(i)
        q.showQueue()
        print(q.front)
        print(q.rear)
        # print(q.deQueue())
        #
        for i in range(15):
            q.enQueue(i)
        q.showQueue()
        for i in range(15):
            q.deQueue()
        q.showQueue()
        for i in range(8):
            q.enQueue(i)
        q.showQueue()
        print(q.front)
        print(q.rear)
    

      

  • 相关阅读:
    个人总结21
    个人总结08
    个人总结07
    构建之法读后感01
    学习进度表 03
    四则运算3
    求最大值
    学习进度表02
    四则运算 2
    学习进度表01
  • 原文地址:https://www.cnblogs.com/linwenbin/p/11698719.html
Copyright © 2011-2022 走看看