链表是一种动态数组,由节点构成,节点都是结构体变量,结构体变量由数据域和指针域组成(指针一般只有一个,一般都定义为一个指向本结构体类型的指针)譬如:
struct node
{
int data;
struct node *next;
}
以单链表为例子:
1.建立链表
前一个节点的指针指向后一个节点,若超出三个及以上;譬如三个:需要定义三个指针变量,P专门用于申请新建节点,那么第一个节点被head指向它,每次此节点的next需要用重定义一个名Last调用next指向下一个新建的P节点,这样才能连接第一个到第二个节点上,第三个节点的next赋值为NULL;
2.删除链表、插入链表、查询链表、输出链表都运用此上思想
3.为什么三个指针变量?
作用不同:P用作新建节点,Last用作前后节点连接,head用作指向头节点
4.注意
对于赋值语句灵活理解
“=”左边一定是变量本身,右边一定是具体值,右边若是变量,则取值。
-->表示指针调用结构体里边的某个成员。