什么是数组

什么是数组??
数组是有限个相同类型的变量所组成的有序集合

数组的存储特点??
数组在内存中是顺序存储

关于数组插入元素详解

在python中,数组的插入可以用insert()函数或者append()函数实现,所以数组中元素的插入到底是啥原理呢?

关于数组中间插入元素详解
原理:由于数组的每个元素都有其对应的固定下标,所以插入元素,我们就得将插入位置后面的元素向后移动,再讲要插入的元素放到对应的数组位置上

插入元素代码实现

  1. class MyArray:
  2. def __init__(self, capacity):
  3. self.array = [None] * capacity # 数组容量
  4. self.size = 0 # 数组实例元素数量
  5. def insert_1(self, index, element):
  6. # 判断下标是否超过范围
  7. if index < 0 or index >= self.size:
  8. raise Exception("超过范围了!")
  9. # 从右向左循环,逐个元素向右挪一位
  10. for i in range(self.size-1, 1, -1):
  11. self.array[i+1] = self.array[i]
  12. self.array[index] = element
  13. self.size += 1
  14. def output(self):
  15. for i in range(self.size):
  16. print(self.array[i])
  17. if __name__ == '__main__':
  18. array = MyArray(4)
  19. array.insert_1(0, 11)
  20. array.insert_1(1, 12)
  21. array.insert_1(2, 12)
  22. array.insert_1(3, 12)
  23. array.output()

关于数组删除元素详解

在python中 数组的删除可用函数 remove(),那么关于数组的删除原理是啥呢?
关于数组删除元素详解
原理:由于数组的每个元素都有其对应的固定下标,所以删除元素,我们就得将删除位置后面的元素向前移动

数组的优势和劣势

优势数组拥有高效的访问能力
劣势数组的插入和删除都会导致移动大量元素,时间复杂度是O(n)
总的来说:数组适合读操作多,写操作少的场景