【数据结构】(单链表)递归删除值为 x的节点(不带头节点)

本文介绍了一种使用递归算法删除链表中特定元素的方法。通过递归调用并利用引用传递特性,确保链表在删除节点后仍保持连续。此算法适用于需要在链表中查找并移除指定值的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

算法思想:其实就是递归查找然后判断删除。注意:这里由于传递的是引用所有不会断链

void Delete_x(LinkList &head,int x){
	if(head==NULL) return;
	if(head->data==x){
		LNode *p;  //临时结点 
		p=head;
		head=head->next;  //这里是因为递归调用传的为引用所以 不会断链
		free(p);
		Delete_x(head,x);  //因为是引用传递并且已经将head的next'赋值给了head了  
	}else{
		Delete_x(head->next,x);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值