链表分为两种:动态和静态
链表不用像数组那样,非得要在内存中连续存放。
假设链表第一个元素的地址是6000,那么第二个元素的地址不用是6001,可以是12012,也可以是其他值。
所以链表的元素里至少有两个数据:该链表元素本身的值;以及指向下一个元素地址的指针。
只是最后一个元素指向的是 空地址 NULL 。
动态的结合相关函数能动态开辟内存,特点就是不会浪费内存单元;
静态链表则没有这个优点。
静态链表和动态链表是线性表链式存储结构的两种不同的表示方式。静态链表的初始长度一般是固定的,在做插入和删除操作时不需要移动元素,仅需修改指针。动态链表是相对于静态链表而言的,一般地,在描述线性表的链式存储结构时如果没有特别说明即默认描述的是动态链表。链表不用像数组那样,非得要在内存中连续存放。
假设链表第一个元素的地址是6000,那么第二个元素的地址不用是6001,可以是12012,也可以是其他值。
那么第一个元素如何找到第二个元素呢?
当知道第一个元素后,如果知道了第二个元素的地址,那么便可以找到第二个元素。所以链表的元素里至少有两个数据:该链表元素本身的值;以及指向下一个元素地址的指针。
只是最后一个元素指向的是 空地址 NULL 。