首页 > 代码库 > 用递归的方法求数组中的最大数
用递归的方法求数组中的最大数
思路:
得到全部5个中最大的数--> 比较第5个数与前四个中最大数的值-> 得到前四个中最大的数--> 比较第四个数与前三个中最大数的值-->得到前三个数中的最大值-->比较第三个数与前两个中最大数的值-->得到前两个数中最大的值-->比较第二个数与第一个数中的最大值
但实际运算是从最右端往左端逐步(和上面的执行路径正好相反)比较的。
1 package test; 2 3 public class ArrayMax { 4 5 public static void main(String[] args) { 6 // TODO Auto-generated method stub 7 int x[] = {10, -2, 4, 49, 49, 100, 23, 4}; 8 System.out.println("max:" +max(x, x.length)); 9 }10 11 static int max(int x[], int n)12 {13 if (n == 1)14 {15 return x[0];16 }17 else18 {19 if (x[n - 1] > max(x, n - 1))20 {21 return x[n - 1];22 }23 else24 {25 return max(x, n - 1);26 }27 }28 }29 30 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。