(很久没更的)C语言日记 21.12.28

字数:781访问原帖 评论数:0条评论 TXT下载

发表时间:2021-12-29 07:58:05 更新时间:2022-01-09 13:44:29

楼主:ty_144568977  时间:2021-12-28 23:58:05
“结构体”中的“单链表”

初学,很多东西完全不知道……
这里贴一些基本的操作和知识,昨天刚学的

需要的库:stdlib.h 和 stdbool.h

/*基本操作集*/
List makeEmpty(); //初始化一个空的链表,生成仅含第0个节点为头空结点的空链表
List findKth (int k, List ptrL); //根据位序k,返回相应结点指针,k的范围[0,length(ptrL)]
List findX(ElementType X, List ptrL); //链表ptrL中查找X的第一次出现的结点指针
bool deleteKth(int k, List ptrL); //删除指定位序k的结点,k的范围[1,length(ptrL)]
bool insert(ElementType X, int k, List ptrL); //在位序k前插入一个新结点,使新结点在位序k, k的范围[1,length(ptrL)+1]
int length(List L); //返回线性表L的长度n,头空结点不计入长度

ElementType 是数据类型,默认int。
makeEmpty 和建立节点都需要申请内存空间,方式都是malloc。
具体方法:
List L;
L = (List)malloc(sizeof(struct LNode));
(如果保留新节点,这个malloc不用free)

每个节点包含一个data 和一个 *next(指向下一个节点的指针)

疑问:LNode是什么……
TOP↑