【数据结构】如何删除链表中的一个元素
删除链表中的节点信息
既然已经学会了创建一个单链表,我们可以学一下另外一个比较重要的操作,删除链表中的节点信息。(其实就是去年数据结构期末考试考到了这个知识点而已)只要看完这一篇文章就可以学会。

我们上一个文章已经学了如何创建一个单链表,那应该很清楚,链表的每个节点,其实都是有一个数据和一个后继指针所组成的。所以我们在删除的时候,不能用线性表的思想的删除,线性表的删除是删除一个元素后,将后面的元素依次往前挪一个,时间复杂度最大可达O(n), 但是链表不需要。
如果你有需要大量删除或者插入的元素的时候,链表绝对是你绝佳的选择,不像线性表,单链表只需要调整其指针就可以了。
具体步骤。
(1)首先你需要确定你要删除第几个元素。(其实这个删除的条件有很多,根据情况而定,比如去年这个题目就是看当前节点是否符合要求大小才进行的删除)
(2)定义一个新的节点。将当前节点的信息给到新节点上,然后新节点的指针后继给将要删除节点前面的那个指针。


理论存在,代码开始。
具体实现如下:
关于其他的
(1)我的这个代码并没有写关于错误的处理,比如:如果你当前输入的大于链表总节点数,那么这个程序是不会报错的,而是默认删除最后一个节点,或者你输入了一个负数,这些错误输入程序都不会识别,所以写的时候建议加一些错误识别。这样会让程序更完美。
(2)你不仅可以删除第几个元素,你还可以根据自己需要,来指定删除你想要删除的元素,这个只是想让你明白一个删除是如何用代码实现的,可以自己尝试一下其他的删除条件,比如:如果此节点不在某一数值区间,将他删除。
