当前位置:   article > 正文

3.10求单链表最大整数、结点个数、所有整数平均值的递归算法_使用递归方法实现单链表中最大整数和所有整数的平均值

使用递归方法实现单链表中最大整数和所有整数的平均值

题目:已知f为单链表的表头指针, 链表中存储的都是整型数据,试写出实现下列运算的递归算法:
① 求链表中的最大整数;
② 求链表的结点个数;
③ 求所有整数的平均值。

算法描述:

/*
	求链表中的最大整数
*/
int GetMax(LinkList &L){
	int m;
	if(!L->next){
		return L->data;
	}
	m=Max(L->next);
	return m>=L->data?m:L->data;
}

/*
	求链表的结点个数
*/
int Length(LinkList &L){
	if(!L->next){
		return 1;
	}else{
		return Length(L->next)+1;
}

/*
	求所有整数的平均值
*/
double Average(LinkList &L,int n){
	double a;
	if(!L->next){
		return L->data;
	}else{
		a=Average(L->next,n-1);
		return (a*(n-1)+L->data)/n;
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号