数组在内存中是一块连续的区域,像这样:
而链表在内存中是分散的,需要通过指针连接起来,像这样:
所以对于查询来说,因为数组有下标,可以很快根据下标查询到相应数据;但是对链表来说,其在内存中位置并不连续,是通过指针连接的,查询是需要根据前一个数据和指针去找到下一个数据,这样如果数据多的话将耗费大量时间,例如查找第2000个数据,需要一个一个的先查前1999个数据才能查到需要的数据。
对于增加来说, 因为数组是连续的,所以在中间插入元素,需要将当前索引后的元素,全部往后移动一个位置,后面每个元素索引也要加一。对链表来说,因为本身元素在内存位置是分散的,通过指针连接的,所以增加元素时,只要移动相应的指针指向就可以增加元素了。删除同理