"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como encontrar com eficiência o valor máximo ou mínimo dentro de um vetor C++?

Como encontrar com eficiência o valor máximo ou mínimo dentro de um vetor C++?

Publicado em 2024-11-08
Navegar:732

How to efficiently find the maximum or minimum value within a C   vector?

Como recuperar valores máximos ou mínimos em um vetor em C

Em C , encontrar o valor máximo ou mínimo dentro de um vetor é um tarefa comum. Embora matrizes e vetores compartilhem semelhanças, a obtenção desses valores difere ligeiramente entre as duas estruturas de dados.

Vetores

Para recuperar o valor máximo ou mínimo em um vetor, você pode use as funções std::max_element() ou std::min_element() do cabeçalho . Essas funções levam iteradores para o início e fim do vetor como argumentos e retornam um iterador apontando para o elemento com o valor máximo ou mínimo.

#include 
#include 

int main() {
  std::vector vector = {1, 2, 3, 4, 5};

  // Getting the maximum value
  int max = *std::max_element(vector.begin(), vector.end());
  std::cout ::iterator it_max = std::max_element(vector.begin(), vector.end());
  std::cout 

Arrays

No caso de arrays, você não pode usar diretamente std::max_element() ou std::min_element() pois eles exigem iteradores. Em vez disso, você pode usar um loop para percorrer a matriz e encontrar o valor máximo ou mínimo manualmente.

int main() {
  int array[5] = {1, 2, 3, 4, 5};

  // Getting the maximum value
  int max = array[0];
  for (int i = 1; i  max) {
      max = array[i];
    }
  }
  std::cout 
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3