数组和链表的区别

Posted by icoding168 on 2020-02-04 16:22:54

分类: 数据结构和算法  

数组的特点:

  • 创建时需要指定容量大小,所有元素需要连续存储,扩容麻烦。
  • 插入元素麻烦,需要把其它元素往后移动来腾出位置。
  • 删除数据麻烦,需要把其它元素往前移动来保持连续。
  • 支持随机读取,只要知道元素的索引,就可以直接读取。

链表的特点:

  • 创建时不需要指定容量大小,所有元素不需要连续存储,扩容方便。
  • 插入数据方便,只需要修改元素之间的引用,不需要移动其它元素。
  • 删除数据方便,只需要修改元素之间的引用,不需要移动其它元素。
  • 不支持随机读取,访问某个位置的元素要从第一个元素开始遍历。