比较
存取方式
顺序表的优点就是可以随机存取,而链表只能从表头开始顺序存取元素
逻辑结构和物理结构
链表的逻辑关系是通过指针指向下一个结点的地址实现的,而顺序表的逻辑关系和物理位置关系一致,逻辑相邻的元素物理位置也相邻
查找、插入和删除
链表的插入删除更加方便,数组需要频繁的移动元素。查找上,链表只能顺序查找,顺序表可以使用二分查找等更高效的查找方式(如果有序)
空间分配
链表的空间分配更加灵活,可以随时扩大,而顺序表一旦空间达到上限,只能重新分配更大的空间,或者是一次性分配足够大的空间,但这样很可能导致空间的浪费,空间利用率小
选取
存储
顺序表需要考虑存储规模,不能过大;链表不需要考虑存储规模,但是需要考虑空间密度的问题(链表的空间密度小于1)
运算
如果插入和删除操作较为频繁,链表较优;若存储静态信息,以查找为主,顺序表优
环境
数组实现更加方便,在用户使用的难易度上需加以斟酌