集合之数组和链表

1.数组

特点:

  • 查询和修改快(内存地址是相连的)
  • 增加和删除慢(牵一发而动全身)

原因:

  • 查询和修改时直接通过数组的下标就能快速定位到相应的位置。
  • 数组里面内存地址是连续的,如果要做增加或者删除时势必要修改长度,这样可能会导致牵一发而动全身的操作,比如在下标是2位置上的元素进行删除,那么后面每个位置上面的元素都会向前移动。

2.链表

特点:

  • 增加和删除快
  • 查询和修改慢

原因:

  • 链表里面的内存地址不是连续的,每个元素里面都保留着上一个元素和下一个元素的内存地址(首尾除外),如果要增加或删除元素时,只有与他相邻的两个位置上的元素发生变化,其他元素不用任何改变。
  • 链表里面的内存地址不是连续的,要查找的话,需要从头或者尾部挨个查找,不能直接定位。
posted @ 2019-03-31 17:37  一起学编程  阅读(246)  评论(0编辑  收藏  举报