顺序表和链表的区别

演示机型:华为MateBook X 系统版本:win10 1、存储分配方式不同:顺序存储结构是用一段连续的存储单元依次存储线性表的数据元素 , 单项链表是采用链式存储结构 , 用一组任意的存储单元存放线性表的元素 。
2、空间利用率不同:顺序表的空间利用率显然要比链表高 。因链表在存储数据时 , 每次只申请一个节点的空间 , 且空间的位置是随机的 , 这种申请存储空间的方式会产生很多空间碎片 , 一定程序上造成了空间浪费 。不仅如此 , 由于链表中每个数据元素都必须携带至少一个指针 , 因此链表对所申请空间的利用率也没有顺序表高 。
【顺序表和链表的区别】3、开辟空间的方式不同:顺序表存储数据实行的是 “一次开辟 , 永久使用” , 即存储数据之前先开辟好足够的存储空间 , 空间一旦开辟后期无法改变大小(使用动态数组的情况除外) 。而链表则不同 , 链表存储数据时一次只开辟存储一个节点的物理空间 , 如果后期需要还可以再申请 。因此 , 若只从开辟空间方式的角度去考虑 , 当存储数据的个数无法提前确定 , 又或是物理空间使用紧张以致无法一次性申请到足够大小的空间时 , 使用链表更有助于问题的解决 。

    推荐阅读