首先,创建一个结构体
目的是把想要存储各种变量放置在结构体中;
而上面图像(结构体)也有一个错误 即 使用int 类型。因为,当我们要存储新的变量如char类型时,需要将结构体中的int改为char。
//用动态内存管理的方法创建一个新的结构体
使用malloc函数在堆里提取一个空间,并将它赋给newnode的地址
//尾插
思路
首先,我们画一下单链表的图
(在定义指针变量后 *pL代表它的解应用)
尾插是将原来的四个节点链接成五个节点
所以,原来的第四节点由只想NULL,到指向第五个节点而第五个节点变量指向NULL
同时还要注意,如果*pL=NULL,则代表此时没有存储链表的值,所以,我们直接插入即可。
//头插
由图就知道,实现头插仅需要将插入的链表中的新的节点指向原来链表的第一个节点;
然后,链表的第一个指针指向新的节点。
//尾删
实现尾删时,需要将第四个节点指向NULL,所以需要定以一个新的结点,让这个节点与第四个节点的地址相同。并以此进行赋值,以使第四个节点指向NULL。
//头删
注意不要直接使用free函数因为如图
它会让*pL找不到第一个结点并以此找不到其他节点。
//查找
查找并不改变函数所以使用*pL(函数的形参只是实参的临时拷贝,形参的改变,并不会影响实参)
//随机插