当前位置:   article > 正文

java递归单链表查找中间元素_【数据结构】C语言递归实现查找单链表最值,平均值,元素个数...

f为单链表的表头指针, 链表中存储的都是整型数据,试写出实现下列运算的递归算法:

【背景】

已知f为单链表的表头指针,链表中存储的是整形数据,试写出实现下列运算的递归算法:

1、求链表中的最大整数

2、求链表的节点个数

3、求所有整数的平均值

【源码运行环境】

操作系统:Windows 10

编译环境:Dev C++(基于C99标准)

【思路】

1、构造递归体结束条件(当前访问的节点为NULL)

2、构造递归体操作

3、尽可能使用尾递归操作

【源码实现】

/*

*方法名:findMax

*作用:递归查找链表中的最大值

*参数:链表指针 l, 最大值指针 max ;

*返回值:void

*Author: WellLee

*Last Modified: 2018-12-13 13:28:30

*/

void findMax(Link l, int *max)

{

Link temp = l;

if(temp == NULL)

{

return;

}

if(temp->elem > *max)

{

*max = l->elem;

}

findMax(temp->next, max);

}

/*

*方法名:getLength1

*作用:递归求链表长度

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/852780
推荐阅读
相关标签
  

闽ICP备14008679号