c_cpp 使用最少比较次数的数组的最大值和最小值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 使用最少比较次数的数组的最大值和最小值相关的知识,希望对你有一定的参考价值。

#include<iostream>
using namespace std;

struct ans{
    int min;
    int max;
};

ans compare(int a[],int n){
    struct ans m;
    m.min = INT_MAX;
    m.max = INT_MIN;
    for(int i=0;i<n;i++){
        if (a[i] < m.min)
            m.min=a[i];
        if(a[i]>m.max)
            m.max = a[i];
    }
    return m;
}

int main(){
    int n;
    cin>>n;
    int a[n];
    for(int i=0;i<n;i++)
        cin>>a[i];
    struct ans m = compare(a,n);
    cout<<m.min<<"  "<<m.max;
}

以上是关于c_cpp 使用最少比较次数的数组的最大值和最小值的主要内容,如果未能解决你的问题,请参考以下文章

最少交换次数

453. 最小移动次数使数组元素相等(数学)

求数组最大的前两个数,要求比较次数尽可能少

c_cpp 使用分而治之的方法查找未排序数组中的最小值和最大值

快速排序算法的最大和最小交换量

直接插入排序的比较次数移动次数和赋值次数 最小/最大/平均值