二分递归求最大次大的方法(数组的下标的表示方法居然可以方括号内部加减)
Posted 菜鸟根据地
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分递归求最大次大的方法(数组的下标的表示方法居然可以方括号内部加减)相关的知识,希望对你有一定的参考价值。
#include<iostream> using namespace std; void max_num(int a[], int lo, int hi, int & x1, int & x2) { if (a[x1 = lo] < a[x2 = lo + 1]) swap(x1, x2); for (int i = lo + 2; i <= hi; i++) { if (a[x2] < a[i]) { if (a[x1] < a[x2 = i]) swap(x1, x2); } } cout << x1 << " " << x2; } int main() { int A[10] = { 2,4,7,3,54,2,6,9,5,10 }; int x1, x2; max_num(A, 0, 9, x1, x2); system("pause"); return 0; }
以往的方法是一遍循环,然后找到最大,然后在二遍循环找到次大。
但是这种方法提供了一种新的思路,首先定义好最大和次大,一边循环比较就可以了 厉害
以上是关于二分递归求最大次大的方法(数组的下标的表示方法居然可以方括号内部加减)的主要内容,如果未能解决你的问题,请参考以下文章