C++ Academy · Lección

Algoritmos no modificadores: find, count y all_of

Busque y compruebe el contenido de los contenedores sin modificarlo.

Lección 1 de 414 pasos

Algoritmos no modificadores: find, count y all_of es una lección gratuita de C++ Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C++ Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C++ Academy incluye 4 lecciones en total.

Operaciones de solo lectura

Los algoritmos que no modifican inspeccionan un rango sin cambiarlo. Se encuentran en <algorithm>.

std::find

Localiza el primer elemento igual a un valor. Devuelve un iterador; end si no lo encuentra.

#include <algorithm>
std::vector<int> v = {3, 1, 4, 1, 5};
auto it = std::find(v.begin(), v.end(), 4);
if (it != v.end()) std::cout << "found at " << (it - v.begin());

std::find_if

Encuentra el primer elemento que coincide con un predicado.

auto it = std::find_if(v.begin(), v.end(),
    [](int x) { return x > 3; });

std::find_if_not

Es el complemento de find_if: encuentra el primer elemento que no coincide.

std::count y std::count_if

Cuenta las apariciones o los elementos que coinciden. Devuelven ptrdiff_t.

int n = std::count(v.begin(), v.end(), 1);            // count of 1s
int m = std::count_if(v.begin(), v.end(),
    [](int x) { return x > 2; });

std::all_of std::any_of std::none_of

Comprueban un predicado en el rango:

  • all_of: todos los elementos coinciden
  • any_of: al menos uno coincide
  • none_of: ningún elemento coincide
bool allPositive = std::all_of(v.begin(), v.end(),
    [](int x) { return x > 0; });
bool anyEven = std::any_of(v.begin(), v.end(),
    [](int x) { return x % 2 == 0; });

std::equal

Compara dos rangos elemento por elemento.

std::vector<int> a = {1, 2, 3};
std::vector<int> b = {1, 2, 3};
bool same = std::equal(a.begin(), a.end(), b.begin());

std::mismatch

Encuentra el primer par de elementos diferentes entre dos rangos. Devuelve un par de iteradores.

std::adjacent_find

Encuentra el primer par de elementos adyacentes iguales (o que coinciden con un predicado).

std::vector<int> v = {1, 2, 2, 3};
auto it = std::adjacent_find(v.begin(), v.end());
std::cout << *it;   // 2

std::min_element std::max_element

Devuelve un iterador al elemento más pequeño o más grande. Pase un predicado para comparar de otra forma.

auto it = std::max_element(v.begin(), v.end());
std::cout << *it;

std::for_each

Llama a una función para cada elemento. Se ignora el valor de retorno de la función.

std::for_each(v.begin(), v.end(),
    [](int x) { std::cout << x << " "; });

Versiones para rangos (C++20)

C++20 añadió sobrecargas para rangos que aceptan un solo rango en lugar de dos iteradores. La sintaxis es más clara.

#include <ranges>
auto it = std::ranges::find(v, 4);
bool ok = std::ranges::all_of(v, [](int x) { return x > 0; });

Comprobación rápida

¿Qué algoritmo devuelve true únicamente si todos los elementos coinciden con un predicado?

Resumen

Los algoritmos que no modifican inspeccionan rangos sin cambiarlos: find, count, all_of/any_of/none_of, min_element y equal. Los rangos de C++20 ofrecen una sintaxis más clara para un solo rango.

Gratis para empezar

Aprende C++ con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
51
Lecciones
203

Preguntas frecuentes

¿La lección «Algoritmos no modificadores: find, count y all_of» es gratis?

Sí — el texto completo de «Algoritmos no modificadores: find, count y all_of» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C++ Academy, actualiza a CoddyKit PRO. El curso de C++ Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Algoritmos no modificadores: find, count y all_of»?

Busque y compruebe el contenido de los contenedores sin modificarlo. Practicas C++ Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar C++ Academy?

No se requiere experiencia previa. C++ Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Algoritmos no modificadores: find, count y all_of»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de C++ Academy?

Sí. Cada lección de C++ Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Algoritmos no modificadores: find, count y all_of
  2. Algoritmos modificadores: transform, copy_if y replace
  3. Ordenación y particionado: sort y stable_partition
  4. Algoritmos numéricos: accumulate, reduce y transform_reduce
← Volver a C++ Academy