c语言单链表c语言无序删重复,我觉得可以删的,不知道错哪里了

下面是单链表c语言基本操作的代碼汇总


 
 
 
 
 
 
 
 

发布了3 篇原创文章 · 获赞 0 · 访问量 57

}

系本人原创转载请注明出处:

程序设计老师让写一个链表的综合运用,包括创建查看某个节点,删除某个节点插入某个节点,以及链表的逆序还必须要有出错提礻和返回。QaQ,看见这么多东西我就想嘤嘤嘤,

 

关于老生常谈的链表创建直接放源码了啦啦啦:

 
 
此处要注意的是p2只是一个临时的结构體指针,暂时储存p1的值然后p1再去开辟空间。
还需要注意的一点是scanf中字符串和字符在一起时的处理%s和%c之间要加一个%*c去吸收一个空格
打印鏈表就不说了,一直指向下一个next直到空指针为之就OK了。

对于查看某个节点或者删除某个节点的时候需要加一个node变量,用来计算链表的節点数下面就放上删除某个节点的代码了:

 
 
 
这里有一个节点数输错的报错并返回机制:我可是想了好久才想到的,,囧
方法就是先用┅个for循环(当输入的节点数和node不相等时继续循环)当链表遍历完毕后,如果还不相等就提示出错并返回重新输入此处p2的作用和创建链表时的作用一样。

接着就是插入某一节点的链表哈~(输入0表示插入到链表的第一位)源码奉上:

 
 
此处p2 的作用是插入的那个节点。

刚开始學习链表的时候觉得插入最难其实逆序比插入难好多(╯▽╰):

 
刚开始我只定义了一个指针就想逆序成功,结果成功被打脸然后最后写叻伪代码才知道,需要三个结构体指针才行╭(╯^╰)╮







值得注意的时每指向下一个时都需要检验是否为空哦。
 
 

}

我要回帖

更多关于 单链表C语言 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信