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++»

Copiar constructor en C++

Prerrequisito: Fundamentos de Constructor  Un constructor de copias es una función miembro que inicializa un objeto usando otro objeto de la misma clase. Un constructor de copias tiene el siguiente prototipo de función general:  ClassName (const ClassName &old_obj);  El constructor de copias se utiliza para inicializar los miembros de un objeto recién creado copiando los … Continue reading «Copiar constructor en C++»

Manejo de excepciones en C++

Una de las ventajas de C++ sobre C es el manejo de excepciones. Las excepciones son anomalías de tiempo de ejecución o condiciones anormales que encuentra un programa durante su ejecución. Hay dos tipos de excepciones: a) Sincrónicas, b) Asincrónicas (es decir, excepciones que están fuera del control del programa, como fallas en el disco, … Continue reading «Manejo de excepciones en C++»

Tipo de puntero ‘this’ en C++

En C++, este puntero se refiere al objeto actual de la clase y lo pasa como parámetro a otro método . ‘ este puntero ‘ se pasa como argumento oculto a todas las llamadas a funciones miembro no estáticas.  Tipo de puntero ‘esto’ El tipo de esto depende de la declaración de la función. El … Continue reading «Tipo de puntero ‘this’ en C++»

Consejos y trucos para programadores competitivos | Conjunto 2 (Idioma que se utilizará para la programación competitiva)

Esta es una pregunta que se hace con bastante frecuencia, ya que en qué idioma se debe preferir para ser eficiente en la programación competitiva. Es algo de lo que uno no debe preocuparse ya que lo que importa es la lógica, no el lenguaje. La mayoría de los lenguajes son más o menos iguales, … Continue reading «Consejos y trucos para programadores competitivos | Conjunto 2 (Idioma que se utilizará para la programación competitiva)»

Foreach en C++ y Java

El bucle Foreach se utiliza para iterar sobre los elementos de un contenedor (array, vectores, etc.) rápidamente sin realizar la inicialización, la prueba y el incremento/decremento. El funcionamiento de los bucles foreach es hacer algo para cada elemento en lugar de hacer algo n veces. No hay un bucle foreach en C, pero tanto C++ … Continue reading «Foreach en C++ y Java»

Creación de un archivo de encabezado reutilizable de C++ y sus archivos de implementación

La reutilización es uno de los conceptos más importantes de la Ingeniería del Software . La reutilización significa desarrollar código que se pueda reutilizar en el mismo programa o en diferentes programas. C++ permite la reutilización a través de herencia , contenedores , polimorfismo y genericidad . Pero, hay otra forma de definir bloques de … Continue reading «Creación de un archivo de encabezado reutilizable de C++ y sus archivos de implementación»

Tipos de datos que admiten std::numeric_limits() en C++

La plantilla de clase numeric_limits proporciona una forma fácil y estandarizada de consultar varias propiedades de tipos aritméticos. Por ejemplo, el valor máximo que puede almacenar un tipo T es std::numeric_limits<T>::max() . Ejemplo: std::numeric_limits<int>::max() da el valor máximo posible que podemos almacenar en tipo int. std::numeric_limits<unsigned int>::max()) da el máximo valor posible que podemos almacenar … Continue reading «Tipos de datos que admiten std::numeric_limits() en C++»

Implementando Stack usando plantillas de clase en C++

La tarea es implementar algunas funciones importantes de la pila como pop(), push(), display(), topElement(), isEmpty(), isFull() usando la plantilla de clase en C++. Stack es una estructura de datos lineal que sigue un orden particular en el que se realizan las operaciones. El orden puede ser LIFO (Last In First Out) o FILO (First … Continue reading «Implementando Stack usando plantillas de clase en C++»

midpoint() en C++20 con ejemplos

La función midpoint() calcula el punto medio de los números enteros, puntos flotantes o punteros a y b. Archivo de cabecera:  <numeric>  Parámetros: Esta función acepta dos tipos de datos como enteros, puntos flotantes, valores de puntero. Devolver: Devuelve los puntos medios de los tipos de datos dados. Algoritmo que implementa esta función : La … Continue reading «midpoint() en C++20 con ejemplos»