像数组一样,链表是线性数据结构。与数组不同,链接列表元素不存储在连续的位置;元素使用指针链接。
为什么要链接列表?
数组可用于存储相似类型的线性数据,但是数组具有以下限制。
1)数组的大小是固定的:因此,我们必须提前知道元素数量的上限。而且,通常,所分配的存储器与用途无关而等于上限。
2)在元素数组中插入新元素非常昂贵,因为必须为新元素创建空间,并且为创建房间而必须移动现有元素。
例如,在系统中,如果我们在数组id []中维护ID的排序列表。
id [] = [1000,1010,1050,2000,2040]。
如果要插入新的ID 1005,则要保持排序顺序,我们必须将所有元素都移到1000(不包括1000)之后。
除非使用某些特殊技术,否则删除数组也很昂贵。例如,要删除id []中的1010,必须移动1010之后的所有内容。
相对于阵列的优势
1)动态大小
2)易于插入/删除
缺点:
1)不允许随机访问。我们必须从第一个节点开始顺序访问元素。因此,