Programa C++ para programa para encontrar el elemento más grande en una array

Dada una array arr de tamaño N , la tarea es encontrar el elemento más grande en la array dada. 

Ejemplo: 

Entrada: arr[] = {10, 20, 4}
Salida: 20

Entrada: arr[] = {20, 10, 20, 4, 100}
Salida: 100

Enfoque 1: recorrido lineal: uno de los enfoques más simples y básicos para resolver este problema es simplemente recorrer toda la lista y encontrar el máximo entre ellos. 

Siga los pasos a continuación para implementar esta idea:

  • Cree una variable local max para almacenar el máximo entre la lista
  • Inicialice max con el primer elemento inicialmente, para comenzar la comparación.
  • Luego recorra la array dada desde el segundo elemento hasta el final, y para cada elemento:
    • Comparar el elemento actual con max
    • Si el elemento actual es mayor que max, reemplace el valor de max con el elemento actual.
  • Al final, devuelva e imprima el valor del elemento más grande de la array almacenado en max .

A continuación se muestra la implementación del enfoque anterior: 

CPP

// C++ program to find maximum
// in arr[] of size n 
#include <bits/stdc++.h>
using namespace std;
  
int largest(int arr[], int n)
{
    int i;
      
    // Initialize maximum element
    int max = arr[0];
  
    // Traverse array elements 
    // from second and compare
    // every element with current max 
    for (i = 1; i < n; i++)
        if (arr[i] > max)
            max = arr[i];
  
    return max;
}
  
// Driver Code
int main()
{
    int arr[] = {10, 324, 45, 90, 9808};
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << "Largest in given array is " << 
             largest(arr, n);
    return 0;
}
  
// This Code is contributed by Shivi_Aggarwal
Producción:

Largest in given array is 9808

Complejidad temporal:  O(N), para atravesar el Array completamente.
Espacio Auxiliar: O(1), ya que solo se crea una variable extra, que ocupará el espacio O(1).

Enfoque 2: uso de la función de biblioteca: la mayoría de los lenguajes tienen una función incorporada de tipo max() relevante para encontrar el elemento máximo, como   std::max_element en C++ . Podemos usar esta función para encontrar directamente el elemento máximo.  

A continuación se muestra la implementación del enfoque anterior: 

C++

// C++ program to find maximum 
// in arr[] of size n 
#include <bits/stdc++.h>
using namespace std;
  
// Returns maximum in arr[] 
// of size n
int largest(int arr[], int n)
{
    return *max_element(arr, arr+n);
}
  
// Driver code
int main()
{
    int arr[] = {10, 324, 45, 90, 9808};
    int n = sizeof(arr)/sizeof(arr[0]);
    cout << largest(arr, n);
    return 0;
}
Producción

9808

Complejidad del tiempo:  O(N), ya que la función max_element() incorporada toma el tiempo O(N).
Espacio Auxiliar: O(1), ya que solo se crea una variable extra, que ocupará el espacio O(1).

¡ Consulte el artículo completo sobre Programa para encontrar el elemento más grande en una array para obtener más detalles!

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *