02-数组
数组实现的代码如下所示:
class Array(object): """ 一个简单的数组支持插入、删除、按照下标访问。 数组中的数据是任意类型的 """ def __init__(self,capacity:int = 10): self._data = [] self._capacity = capacity def __len__(self): return len(self._data) def __iter__(self): for item in self._data: yield item def __repr__(self): """ 打印时输出我们想要的信息 :return: 返回数据 """ return str(self._data) def find(self,index:int)->object: """ 根据索引,找到参数并且返回参数 :param index: 查找参数的索引你下标 :return: 返回成功的参数,否则返回False """ if (index < 0 or index >= len(self)): return -1 return self._data[index] def insert(self,index: int,value: int)->bool: """ 插入数据 :param index:插入的下标 :param value: 插入的数据 :return: 成功True,失败False """ if (index < 0 or len(self) >= self._capacity): return False else: self._data.insert(index,value) return True def delete(self,index: int) -> bool: """ 根据索引删除元素 :param index: 索引的小标 :return: 删除成功返回True,否则False """ if (index < 0 or index > len(self)): return False else: self._data.pop(index) return True if __name__ == '__main__': array = Array(5) array.insert(0, 3) array.insert(0, 4) array.insert(1, 5) array.insert(3, 9) array.insert(3, 10) assert array.insert(0, 100) is False print(array) assert len(array) == 5 assert array.find(1) == 5 assert array.delete(4) is True print(array) array.insert(3, 7) print(array)
运行结果为: