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)
    

      

  • 相关阅读:
    虫食算(暴力搜索)
    P3909 异或之积
    P1171 售货员的难题 暴力dp
    P2657 [SCOI2009]windy数
    【luogu P1726 上白泽慧音】 题解
    【luogu P2146 [NOI2015]软件包管理器】 题解
    莫队算法~讲解【更新】
    【luogu P1113 杂务】 题解
    【luogu P1268 树的重量】 题解
    【luogu P4114 Qtree1】 题解
  • 原文地址:https://www.cnblogs.com/linwenbin/p/11698719.html
Copyright © 2011-2022 走看看