zoukankan      html  css  js  c++  java
  • 二分递归求最大次大的方法(数组的下标的表示方法居然可以方括号内部加减)

    #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;
    }

    以往的方法是一遍循环,然后找到最大,然后在二遍循环找到次大。

    但是这种方法提供了一种新的思路,首先定义好最大和次大,一边循环比较就可以了  厉害

  • 相关阅读:
    java代码块执行顺序
    Oracle-SQL高级查询
    java单例模式
    Oracle序列和伪表
    Oracle函数
    Oracle存储过程
    Oracle触发器
    Oracle分析函数
    Oracle分页查询
    Oracle联合查询
  • 原文地址:https://www.cnblogs.com/xiaochige/p/7519700.html
Copyright © 2011-2022 走看看