std::replace y std::replace_if en C++

estándar::reemplazar Asigna new_value a todos los elementos en el rango [primero, último] que se comparan con old_value. La función usa operator == para comparar los elementos individuales con old_value  Plantilla de función:  void replace (ForwardIterator first, ForwardIterator last, const T& old_value, const T& new_value) first, last : Forward iterators to the initial and final positions … Continue reading «std::replace y std::replace_if en C++»

Diferentes métodos para copiar en C++ STL | std::copiar(), copiar_n(), copiar_si(), copiar_hacia atrás()

Existen varias variedades de copy() en C++ STL que permiten realizar las operaciones de copia de diferentes maneras, todas ellas con su propio uso. Todos estos se definen en el encabezado <algoritmo>. Este artículo presenta a todos estas funciones para su uso en la programación diaria. 1. copy(strt_iter1, end_iter1, strt_iter2): la función de copia genérica utilizada … Continue reading «Diferentes métodos para copiar en C++ STL | std::copiar(), copiar_n(), copiar_si(), copiar_hacia atrás()»

rango_igual en C++ – Part 1

std::equal_range se usa para encontrar el subrango dentro de un rango dado [primero, último] que tiene todos los elementos equivalentes a un valor dado. Devuelve el límite inicial y final de dicho subrango. Esta función requiere que el rango se ordene o divida de acuerdo con alguna condición, de modo que todos los elementos para … Continue reading «rango_igual en C++ – Part 1»

Búsqueda binaria en la biblioteca de plantillas estándar (STL) de C++

La búsqueda binaria es un algoritmo de búsqueda ampliamente utilizado que requiere que la array se ordene antes de aplicar la búsqueda. La idea principal detrás de este algoritmo es seguir dividiendo la array por la mitad (divide y vencerás) hasta que se encuentre el elemento o se agoten todos los elementos. Funciona comparando el … Continue reading «Búsqueda binaria en la biblioteca de plantillas estándar (STL) de C++»

std::inner_product en C++

Calcular el producto interno acumulativo del rango  Devuelve el resultado de acumular init con los productos internos de los pares formados por los elementos de dos rangos comenzando por first1 y first2. Las dos operaciones predeterminadas (para sumar el resultado de multiplicar los pares) pueden ser anuladas por los argumentos binary_op1 y binary_op2. 1. Usando … Continue reading «std::inner_product en C++»

std::nth_element en C++

std::nth_element() es un algoritmo STL que reorganiza la lista de tal manera que el elemento en la posición n es el que debería estar en esa posición si ordenamos la lista. No ordena la lista, solo que todos los elementos que preceden al n-ésimo elemento no son mayores que él, y todos los elementos que … Continue reading «std::nth_element en C++»

std::is_sorted en C++

La función de C++ std::is_sorted verifica si los elementos en el rango [primero, último] están ordenados en orden ascendente. Los elementos se comparan usando el operador  < . Hay dos variantes de std::is_sorted:   Sin usar predicado binario   bool is_sorted( ForwardIt first, ForwardIt last ); first, last : the range of elements to examine Return value … Continue reading «std::is_sorted en C++»

límite_superior en C++

upper_bound() es una función de biblioteca estándar en C++ definida en el encabezado. Devuelve un iterador que apunta al primer elemento del rango [primero, último] que es mayor que el valor, o último si no se encuentra dicho elemento. Los elementos del rango ya deben estar ordenados o al menos particionados con respecto a val. … Continue reading «límite_superior en C++»

fusionar() en C++ STL – Part 1

C++ ofrece en su biblioteca STL una combinación() que es bastante útil para combinar dos contenedores en un solo contenedor. Se define en el encabezado “ algoritmo ”. Se implementa de dos maneras. Sintaxis 1: Uso del operador «<« Template : template outiter merge (initer1 beg1, initer1 end1, initer2 beg2, initer2 end2, outiter res) Parameters … Continue reading «fusionar() en C++ STL – Part 1»