链表习题(1)-设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点
2024-08-26 19:09:10
/*设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点*/
/*
算法思想:设f(L,x)的功能是删除以L为首结点指针的单链表中所有值等于x的结点,
则显然有f(L->next,x)的功能是删除以L->next为首结点指针的单链表中所有值等于x
的结点。递归模型如下:
终止条件:f(L,x)=不做任何事情 若L为空表
递归主体:f(L,x)=删除*L结点;f(L->next,x); 若L->data == x
f(L,x)=f(L->next,x) 其他情况
*/
void Del_X_3(LinkList& L, Elemtype x)
{
LNode* p; //指向待删除的结点
if (L == NULL)
return; //递归出口
if (L->data == x)
{
p = L;
L = L->next;
free(p);
Del_X_3(L, x);
}
else
Del_X_3(L->next, x);
}
最新文章
- 用python实现最长公共子序列算法(找到所有最长公共子串)
- codility flags solution
- python 安装
- offsetHeight, clientHeight与scrollHeight的区别
- SpringMVC注解@RequestParam全面解析---打酱油的日子
- CentOS 6.6 安装 Node.js
- linux下的基本操作
- javaWeb中servlet开发(4)——servlet跳转
- 在python中使用图形库matplotlib
- 关于childNodes的length的问题
- 建议入门-用ArcMap进行空间查询与空间连接
- js 的数据类型转换
- Ubutn14.04下caffeine工具不显示在工具栏中的问题
- C# 根据IP查询地址归属地
- Delphi下TLabel鼠标MouseEnter、MouseLeave更改颜色失灵
- 多线程——达到Runnable介面
- Swing JDialog监听回车键
- C#中的引用传递、值传递
- 开源纯C#工控网关+组态软件(三)加入一个新驱动:西门子S7
- Kafka笔记5(内部工作原理)