1.创建一个表头
2.从表头后插入新值
3.将链表中的某一特定值统一修改为新值
4.删除链表中所有某一特定值
寻找时要注意一前一后的两个变量来遍历链表,靠后边的变量来判断目的修改值是否匹配,设置一前一后两个变量来遍历是因为free了目的表之后要建立新的连接,需要前边的表。
注意当某一轮找到了目的表,free了之后建立新的连接,靠后的变量会去存删除了的表之后的表,所以当前轮次再进行两个变量的往后轮换,会越过新链接上的一个表,所以用了else来限制删除和轮换的同时执行。
5.摧毁链表,并且不留非法的链表头地址
因为要彻底摧毁链表,不留下表头的地址否则会非法,所以要修改表头的指针变量所存的地址,要修改指针变量的值,要传参二级指针。
6.输出链表
主函数与输出结果:
可以看到保存表头地址的变量保存的地址已经被置为NULL(nil),不会再非法保存未被开辟的空间(表头空间已经被释放,所有等价于未被开辟)的地址