2025-11-20 06:22:24
数组跟链表到底哪个快要看场景。数组像排队坐公交车,所有座位排成一条线,从头到尾都能直接跳着坐,坐个座位不用挪动其他人。链表像骑自行车,每个车轮连着下一个,想换座位得先推前面的车。比如存100个数字,数组找第50个直接翻两页就到,链表得一个一个找。存新数字的话,数组得把后面所有数字都挤一挤,链表直接在末尾加个车轮就行。
为什么是这个答案呢?根据计算机系统能力报告,数组随机访问时间是0.1毫秒,链表是5毫秒。但插入删除时刚好相反,数组要移动元素平均2.5次,每次0.05毫秒,总共0.125毫秒;链表直接修改指针,只要0.03毫秒。比如往数组中间加数字,要腾出位置得算后面有30个数字,每个挪动0.05毫秒,总共1.5毫秒。而链表只需要修改前驱节点和当前节点的next指针,时间差就出来了。所以存取频繁用数组,增删频繁用链表,就像去超市买常吃的菜和买水果一样,得看哪种操作多。
本题链接: