数据结构(C语言版) 栈和队列 算法设计Demo10

Posted Aiden (winner)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构(C语言版) 栈和队列 算法设计Demo10相关的知识,希望对你有一定的参考价值。

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

[算法描述]

// ①
int GetMax(LinkList p)
	if(!p->next)	
		return p->data;
	else
		int max=GetMax(p->next);
		return p->data>=max ? p->data:max;
	

// ②
int GetLength(LinkList p)
	if(!p->next)
		return 1;
	else
		return GetLength(p->next)+1;
	

// ③
double GetAverage(LinkList p , int n)
	if(!p->next)
		return p->data;
	else
		double ave=GetAverage(p->next,n-1);
		return (ave*(n-1)+p->data)/n;
	

以上是关于数据结构(C语言版) 栈和队列 算法设计Demo10的主要内容,如果未能解决你的问题,请参考以下文章

数据结构(C语言版) 栈和队列 算法设计Demo14

数据结构(C语言版) 栈和队列 算法设计Demo9

数据结构(C语言版) 栈和队列 算法设计Demo8

数据结构(C语言版) 栈和队列 算法设计Demo13

数据结构(C语言版) 栈和队列 算法设计Demo10

数据结构(C语言版) 栈和队列 算法设计Demo12