• 数组基本操作


    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/14950306.html

    class Array:
        def __init__(self, capacity):
            self.array = [None] * capacity
            self.size = 0
    
        def get(self, index):
            if index < 0 or index > self.size:
                raise Exception("index out of bounds")
            return self.array[index]
    
        def insert(self, index, data):
            if index < 0 or index > self.size:
                raise Exception("index out of bounds")
            if self.size >= len(self.array):
                self.resize()
            for i in range(self.size - 1, index - 1, -1):
                self.array[i + 1] = self.array[i]
            self.array[index] = data
            self.size += 1
    
        def remove(self, index):
            if index < 0 or index >= self.size:
                raise Exception("index out of bounds")
            for i in range(index, self.size - 1):
                self.array[i] = self.array[i + 1]
            self.size -= 1
    
        def resize(self):
            new_array = [None] * len(self.array) * 2
            for i in range(self.size):
                new_array[i] = self.array[i]
            self.array = new_array
    
        def output(self):
            result = ""
            for i in range(self.size):
                result += str(self.array[i]) + ", "
            return result.strip(", ")
    
    
    array = Array(5)
    array.insert(0, 1)
    array.insert(1, 2)
    array.insert(2, 3)
    array.insert(3, 4)
    array.insert(4, 5)
    # 1, 2, 3, 4, 5
    print(array.output())
    # 5
    print(array.get(4))
    array.insert(2, 6)
    array.insert(2, 7)
    array.insert(2, 8)
    # 1, 2, 8, 7, 6, 3, 4, 5
    print(array.output())
    array.remove(0)
    # 2, 8, 7, 6, 3, 4, 5
    print(array.output())
    强者自救 圣者渡人
  • 相关阅读:
    编程里的数字游戏
    SqlServer2005Express下的事件探查器
    来玩玩这个
    把一个bitmap在内存中的数据块 搬到另一个bitmap中
    一些常用的sql
    C#图像处理
    来玩玩画直线
    关于未来的思考
    年末个人小结
    [转载]编写超级可读代码的15个最佳实践
  • 原文地址:https://www.cnblogs.com/agilestyle/p/14950306.html
Copyright © 2020-2023  润新知