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)
    

      

  • 相关阅读:
    is as运算符
    继承,多态
    封装等
    面向对象
    在JDBC中使用带参数的SQL语句
    我的程序库:HiCSDB
    我的程序库:HiCSUtil
    Java中,将ResultSet映射为对象和队列及其他辅助函数
    Java版的对象关系映射实现
    Java中的基本数据类型转换
  • 原文地址:https://www.cnblogs.com/linwenbin/p/11698719.html
Copyright © 2011-2022 走看看