"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 encontro com eficiência os valores máximo e mínimo dentro de um vetor em C++?

Como encontro com eficiência os valores máximo e mínimo dentro de um vetor em C++?

Publicado em 13/11/2024
Navegar:200

How do I efficiently find the maximum and minimum values within a vector in C  ?

Encontrando o valor máximo ou mínimo em um vetor em C

Em C , obter o valor máximo ou mínimo em um vetor é uma tarefa simples . Ao utilizar funções STL (Standard Template Library), podemos conseguir isso com eficiência, sem iterar por todo o contêiner.

Usando std::max_element() e std::min_element()

A biblioteca padrão fornece as funções std::max_element() e std::min_element() para encontrar os elementos máximo e mínimo em uma sequência de valores, respectivamente. Essas funções recebem um par de iteradores como argumentos, significando o intervalo no qual a pesquisa deve ser realizada. O valor de retorno é um iterador apontando para o elemento com o valor máximo/mínimo.

Sintaxe:

std::max_element(iterator_begin, iterator_end);
std::min_element(iterator_begin, iterator_end);

Exemplo:

#include 
#include 

std::vector v = {1, 3, 5, 7, 9};

int max_num = *std::max_element(v.begin(), v.end());
int min_num = *std::min_element(v.begin(), v.end());

std::cout 

Usando matrizes versus vetores

Vetores e matrizes são contêineres em C. No entanto, os vetores são dinâmicos enquanto as matrizes são estáticas. Assim, a abordagem para obter o valor máximo/mínimo é um pouco diferente.

Para uma matriz, você pode acessar diretamente os elementos e determinar o valor máximo/mínimo iterando pela matriz.

Exemplo:

int arr[] = {1, 3, 5, 7, 9};
int size = sizeof(arr) / sizeof(arr[0]);

int max_num = arr[0];
int min_num = arr[0];

for (int i = 1; i 

Em conclusão, usar std::max_element() e std::min_element() é uma maneira conveniente de encontrar os valores máximo e mínimo em um vetor. Para matrizes, você pode iterar pelos elementos para obter o mesmo resultado.

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