单链表实现任意位置删除和插入

本文介绍了在单链表中使用prev变量进行删除和插入操作的方法,包括删除指定位置节点和在指定位置前后插入新节点,同时提到STL库不直接提供指定位置前面插入的功能,因为这涉及复杂查找和边界条件判断。
摘要由CSDN通过智能技术生成


单链表删除
使用prev变量保存前面目标节点的前面一个位置,每次循环prev指向下一个。
while(prev->next!=pos)prev=prev->next;
prev->next=pos->next;
free(pos);

指定位置后面插入
newnode ->next=pos->next;
pos->next=newnode;
指定位置前面插入(STL不提供该接口,因为每次要循环找前面节点费时间,且要分情况判断pos是不是头节点如果是就头插,因为prev的下一个最多只能是第二个永远找不到pos)
while(prev->next!=pos)prev=prev->next;
newnode->next=pos;
prev->next =newnode;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值