跳转至

数组

数据与链表差异 参考这里

循环数组

特点

  • 长度固定,下表不会越界,使用 2 个指针标识 头尾 下标; 默认都是 0
  • 方便用来实现 栈,队列;比如 队列实现时,新增元素,头下表 +1; 删除元素,尾下标 +1

比如 Java 的 ArrayBlockingQueue 就是一个 带有 takeIndex 和 putIndex 的环形数组。

缺点:头尾之间的元素不好维护,从中间删除了某个元素,会出现数组空隙。

数据结构