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;
	}
}

猜你喜欢

转载自blog.csdn.net/qq_39688282/article/details/108286769