题目:已知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;
}
}