美文网首页
没事写个循环数组

没事写个循环数组

作者: ic_bbc | 来源:发表于2017-05-04 23:51 被阅读0次

新岗位需要用python,之前没写过python,用循环数组实现一个定长队列玩一下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

class CirArray:
    
    readind = 0
    writeind = 0
    fullFlag = False
    emptyFlag = True
    
    def __init__(self, queneSize):
        if isinstance(queneSize, int) and queneSize >0:
            self.MAX_SIZE = queneSize
            self.DataSet = [0 for n in range(self.MAX_SIZE)]
        else:
            raise Exception('queneSize is invalid');

    def CirPop(self):
        if self.emptyFlag:
            print 'quene is empty and get failed'
            print "the quene is:",self.DataSet
            return False

        self.readind = (self.readind + 1)%self.MAX_SIZE
        print "pop value: ",self.DataSet[self.readind]
        self.DataSet[self.readind] = 0

        if self.writeind == self.readind:
            self.emptyFlag = True
            print 'quene is empty'
        print "the quene is:",self.DataSet


    def CirPush(self, num):
        if self.fullFlag:
            print 'quene is full and insert failed'
            print "the quene is:",self.DataSet
            return False

        self.writeind = (self.writeind + 1)%self.MAX_SIZE
        self.DataSet[self.writeind] = num
        print "push success:",num
        if self.emptyFlag:
            self.emptyFlag = False

        if self.writeind == self.readind:
            self.fullFlag = True
            print 'quene is full'
        print "the quene is:",self.DataSet

testArr = CirArray(10)
testArr.CirPush(1)
testArr.CirPush(3)
testArr.CirPop()

想说一下:
1、python类中使用成员变量写self好麻烦,简直赶上php的$了
2、后面可以改进成用动态数组实现不定长队列
3、只有pop和push函数没法发挥底层数组实现的优势,可以添加随机访问的接口

就到这里了,今后要经常写python了,先混个脸熟呗

相关文章

  • 没事写个循环数组

    新岗位需要用python,之前没写过python,用循环数组实现一个定长队列玩一下: 想说一下:1、python类...

  • 批量处理

    可以把各个路径写到一个cell数组里,然后写个循环导入。

  • 没事写个藏头诗

    王臣贵侯仰清云 桂花满岩赛松蕴 敏繁雅曲朱弦韵

  • 写个字

    没事写个字,就酱…

  • vue循环与显示

    vue循环 v-for循环普通数组 数组索引值 循环对象数组 循环对象,值(1,ts,man)键(id,name,...

  • 005-数组,冒泡排序,二分查找法

    什么是数组? 为什么要用数组? 数组如何定义 数组遍历 for循环遍历 增强for循环 数组的默认值 数组的特点 ...

  • JS进阶篇

    数组 一维数组 二维数组 循环 break:退出整个循环;continue:退出此次循环,继续下一个数据的循环 事...

  • 菜鸡学AngularJS 04 循环绑定、排序、搜索

    1:循环绑定数组 PS:ng-repeat = "i in 数组名" ,i为数组每次循环出来的结果 2:表格循环绑...

  • java学习第九章(数组)

    数组 数组的循环 数字12345倒序打印 二维数组 二维数组的循环 数组找到最大值 数组的排序(冒泡算法) 变量交...

  • js 中常用的15种数组的操作

    数组的遍历1.1 for……of 循环for(const items of item ) 循环遍历数组项 ;i...

网友评论

      本文标题:没事写个循环数组

      本文链接:https://www.haomeiwen.com/subject/pfqjtxtx.html