小弟不才,初学者吧,写了个不伦不类的小程序,欢迎来拍砖指点一二。
public class getM{
public static void main(String[] args){
int[] data={2,3,4,7,22,88,11,55,22,6,13};
int max=0,min=0;
double avg=0.0;
getM getmm=new getM();
getmm.getMaxMinAvg(data,0,max,min,avg);
}
private void getMaxMinAvg(int[] data,int i,int MAX,int MIN,double AVG){
if(i==0){//the first data of data
MAX=MIN=data[0];
AVG=data[0]*1.0;//int to be double
}
else if(i<data.length){//not outofboundindex
if(MAX < data[i])MAX=data[i];//get MAX
if(MIN >= data[i])MIN=data[i];//get MIN
AVG=(AVG+data[i])*1.0;// get AVG
if(i==(data.length-1)){// to print the results when caculate the last data
System.out.println("最大数:"+MAX);
System.out.println("最小数:"+MIN);
System.out.println("平均数:"+AVG/data.length);
}
}else{
return;
}
getMaxMinAvg(data,i+1,MAX,MIN,AVG);
}
}
分享到:
相关推荐
利用分治法快速而有效的求出任意数组的最大值与最小值。 编码用C++实现
利用递归方法求给定整型数组中的最大元素。 样例输入: 8 223 112 412 123 51 987 98 793 988 样例输出: 988
用递归算法编写求一个数组A中的最大元素;/****一个递归算法,求数组A中最大的元素***/ #include int Max(int A[], int i, int j) //求顺序表A中的最大元素 ……
递归求数组最大最小元素。
数据结构第二章上机作业,张宪超。 已知head为单链表的表头指针,链表中储存的都是整形数据,实现下列运算的递归算法: 1.求链表中最大值 2.求链表中的节点个数 3.求所有整数平均值
分治思想:将难以直接求解的大问题分解为k个相同的子问题;对这k个子问题分别求解。如果子问题的规模仍然不够小,则再划分为k个子问题,如此递归的进行下去,直到问题规模足够小,很容易求出其解为止;
枚举算法,递归与分治策略,递归与迭代的思想、求最大值最小值、线性查找、二分查找与冒泡排序以及选择与交换排序、插入和希尔排序。本课程除了强调经典的算法理论和模型,亦兼顾编程实践能力。力图使得学员面对复杂...
1.数组求和?(用递归,只用一行代码) 2.求数组的最大值和最小值(用递归的方法,将数组分为左右两个子数组,返回条件是左右数组只剩一个或两个元素)
求数组的子数组之和的最大值,数组中全部为整数,子数组之和即为连续的数组元素相加之和
打印出数组a中的最大值和最小值。 8. 编写一个递归方法inverse(int a[]):将数组a 中的元素颠倒存放。 例如,原来为:(a1,a2,a3,a4,…,an), 处理后为:(an,an-1,…,a3,a2,a1)。
05_JavaSE面试题:递归与迭代
c++递归函数的使用,介绍了使用递归实现数组遍历和阶乘函数的函数
常规的做法是遍历一次,分别求出最大值和最小值,但我这里要说的是分治法,将数组分成左右两部分,先求出左半部份的最大值和最小值,再求出右半部份的最大值和最小值,然后综合起来求总体的最大值及最小值。...
数据结构教学课件:第8讲 数组(三元组顺序表操作——转置算法).pdf
递归先序遍历二叉树: 递归中序遍历二叉树: 递归后序遍历二叉树: 非递归先序遍历二叉树: 非递归中序遍历二叉树: 非递归后序遍历二叉树: 非递归中序遍历二叉树(算法2): 层次遍历二叉树: 递归计算单...
java代码-递归-求最大值
5.题库:用递归函数求两个整数的最大公约数 .py
递归方式实现链表和数组的操作:数组的递归显示(而不是迭代for显示),链表的递归显示
01-E-4 数组倒置#数据结构邓神Q: 任给数组 A[0,n) 将其前后颠倒统接:// 将数组从 [lo,hi] 内部的所有元素反转数组倒置:递归解决if(l
递归打印数组和找出最小数(C语言) 递归打印数组和找出最小数(C语言)