数组与链表
- 数组
存储方式: 一段连续的内存 查询方式: 数组头地址 + (索引 * 元素大小) = 目标元素地址 修改方式: 为保持内存连续性,增/删元素需要将后面元素后移/前移,影响元素越多,效率越低。
- 单向链表
存储方式: 无需连续内存,前元素携带指向后元素的指针即可。 查询方式:从头元素开始,通过指针一路向末尾,逐个比对元素,直到找出目标值。 修改方式:增删元素只影响前元素。 - 大致说明:增元素需使前元素指向新元素且新元素保存指向下一个元素的指针,变更两个指针。删元素只需修改原前元素的指向,只需修改一个指针。 - 双向链表
存储方式:与单向链表相比,元素即保存指向后元素的指针,也保存指向前元素的指针。 查询方式:与单向链表相似,不过既可以从头开始也可以从尾开始,都可以遍历链表。 修改方式: 增删会影响前后元素保存的指向指针。
浙公网安备 33010602011771号