zoukankan      html  css  js  c++  java
  • 数组队列

    class Aaa:

    (定义一个类,也就是我们的数组)

    def __init__(self, size=32):
    self._size = size (最大容器容量)
    self._items = [None]*size (通过列表,生成容器)

    def __getitem__(self, index):
    return self._items[index]

    def __setitem__(self, key, value):
    self._items[key] = value

    def __len__(self):
    return len(self._items)

    def clear(self, value=None):
    for index in self._items:
    self._items[index] = value

    def __iter__(self):
    for i in self._items:
    yield i

    class queue:

    (定义一个队列)
    def __init__(self,maxsize=32):
    self.bag=Aaa(maxsize) (这里用前面定义好的数组存储数据,传入数组的大小)
    self.tail=0 (尾长度)
    self.head=0  (首长度)

    def push(self,value):

    (添加值的方法)
    self.bag[self.tail % len(self.bag)]=value  (这里用到了一个取模的思想)
    self.tail+=1

    def pop(self):

    (从尾部去除值的方法)
    value=self.bag[self.head%len(self.bag)]  (这里用到了一个取模的思想)
    self.head+=1
    return value

    def __len__(self):
    return self.tail-self.head  (返回尾长度减去首长度,就得到了队列的长度)

  • 相关阅读:
    eclips断点调试
    单位换算
    信息论与编码复习
    嵌入式学习笔记
    DAVINCI项目日志
    英语考试方法
    虚拟机安装Ubuntu的上网设置(有线网络和无线网络)
    重装系统必须备份的几种数据
    linux笔记
    word应用技巧
  • 原文地址:https://www.cnblogs.com/xuxingping/p/10946301.html
Copyright © 2011-2022 走看看