数组
1、数组通过下标设置值和获取值,效率高。
2、插入和删除效率低。每次插入或者删除一个元素,可能需要移动大量元素,其平均移动次数是顺序表长度的一半。再者,数组容量不可更改,存在因容量小造成数据溢出,或因容量过大造成内存资源浪费的问题。解决数据溢出的办法是,申请另一个更大容量的数组,并进行数组元素复制,但插入效率很低。
链表
1、链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列节点组成,这些节点不必在内存中相连。每个节点由数据部分Data和链部分Next,Next指向下一个节点,这样当添加或者删除时,只需要改变相关节点的Next的指向,效率很高。
2、添加元素时需遍历数组,找到最后一个节点,效率低。