链表】链式存储的线性表,可以完成增删改查等操作
节点内部分为数据域和指针域,数据域用来存放当前节点数据
指针域则用来和前后节点产生联系
链表分类:
按照指针域的数据进行划分:
单向链表和双向链表
根据最后一个节点的next数值划分:
循环链表和不循环链表
根据有无头节点:
有头链表和无头链表
有头链表:第一个节点数据域无效,指针域有效
无头链表:第一个节点指针域和数据域均有效
有头单向链表和双向链表
单向链表节点结构体的构建:
struct node
{
datatype data;//数据域
struct node *next;//指针域
};
链表操作:
1.创建头节点
2.插入数据
3.判断存在
4.遍历链表
5.判断表空
6.删除数据
7.按照位置查询
8.按照数值查询
9按照位置修改
10.按照数值修改
11.链表倒置
12.链表清空
13.链表销毁