【1】概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
(图片为转载)
优点:链表的插入操作更快( O(1) ),无需预先分配内存空间
缺点:失去了随机读取的优点(需要从头节点开始依次遍历,直到找到目标节点。),内存消耗较大(每个节点都需要存储指向下一个节点的指针)。
【2】组成:由一系列节点(Node)通过指针连接而成,从一个头节点(Head)开始,头节点作为链表的入口点,它包含了对第一个节点的引用。最后一个节点的指针指向一个空值(NULL),表示链表的结束。
【3】存储:链表在内存中的存储方式则是随机存储(见缝插针),每一个节点分布在内存的不同位置,依靠指针关联起来。(只要有足够的内存空间,就能为链表分配内存)
【4】定义变量:
struct 结构体类型名{ //其中struct是关键字
成员表; //可以有多个成员
成员函数; //可以有多个成员函数,也可以没有
}结构体变量表; //可以定义多个结构体变量,用“,”隔开
例如:
struct node{
int data;
node *next;
}a[100];