第4章 C语言链表介绍
第四章 C语言链表介绍
1. 单向链表
1.1 链表的定义
该链表中共有 n 个节点, 前一个节点都有一个箭头指向后一个节点,首尾相连,组成一个圈。
节点都是一个自定义类型的数据结构,在这个数据结构里面可以有单个的数据、数组、指针数据和自定义的结构体数据类型等等信息,
// 单向链表示例
struct Node {
struct node *next; // 指向下一个节点的指针
char datal; // 数据域
unsigned char array[]; // 数组域
unsigned long *prt; // 指针数据
struct userstruct data; // 自定义结构体数据
};
除了 struct node *next 这个节点指针之外,剩下的成员都可以理解为节点携带的数据,但是这种方法很少用。 通常的做法是节点里面只包含一个用于指向下一个节点的指针。要通过链表存储的数据内嵌一个节点即可,这些要存储的数据通过这个内嵌的节点即可挂接到链表中,就好像晾衣架的钩子一样,把衣服挂接到晾衣架中
// 节点定义
struct node {
srtuct node *nest; // 指向下一个节点
};
// 数据
struct data {
// 通过节点将数据挂到链表
struct node *next;
/*
要存储的数据
*/
};
1.2 链表的操作
链表常规的操作就是节点的插入和删除,为了顺利的插入,通常一条链表我们会人为地规定一个根节点, 这个根节点称为生产者。 通常根节点还会有一个节点计数器,用于统计整条链表的节点个数
2. 双向链表
双向链表与单向链表的区别就是节点中有两个节点指针,分别指向前后两个节点,其它完全一样。
本文作者:hazy1k
本文链接:https://www.cnblogs.com/hazy1k/p/18727809
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步