本文收集整理关于递归求数组最大值的相关议题,使用内容导航快速到达。
内容导航:
Q1:求数组中最大值,用递归函数实现
当i=0,Max(A,i)=A[0];//递归出口
否则,Max(A,i)=max(Max(A,i-1),A[i]);//max是取最大值
问题及代码:
[cpp] view plain copy
/*
* Copyright (c) 2016, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:Max.cpp
* 作者:单昕昕
* 完成日期:2016年4月14日
* 版 本 号:v1.0
* 问题描述:已知A[n]为整数数组,编写一个递归算法求其中n个元素的平均值。
* 程序输入:数组A[n]。
* 程序输出:n个元素的平均值。
*/
#include
using namespace std;
const int MaxSize=100;
int A[MaxSize];
int Max(int A[],int i)
{
int a;
if(i==0)//递归出口
return A[0];
Q2:用递归函数求数组的最大值
已改,看注释#include
Q3:用递归算法求一维整型数组的最大值。求代码,求算法讲解
intmax(int array[ ],int n)
{
if (n<=1)
return(array[0]);//就一个数,最大值就是自已
intt=max(array+1,n-1);//求后面 n-1个数的最大值
if (t>array[0])//t 比第一个大,返回最大 t
return(t);
else
return(array[0]);//t小,返回array[0];
}
WWW.:YIjiTAo.cOm
Q4:怎样用java实现递归求一个数组的最大值
public static void main(String[] rags){
int [] aim = new int[100];
int point = 0;
//....这里初始化数组
int max = aim[0];
max =getMax(max,point,aim);
//...其他处理
}
//递归方法
public int getMax(int max,int point,int[] aim){
if(point==aim.length)//临界值
return max;
//未达到临界值时,取max值,并进行递归
max = max >= aim[point] ? max : aim[point];
return getMax(max,point+1,aim);
}