CAPC-ITM

Club de Algoritmos y Programación Competitiva

Estructuras de Datos en C++

Las estructuras de datos son elementos fundamentales en C++ para organizar y gestionar datos de manera eficiente. Aquí tienes información sobre cómo trabajar con estructuras de datos comunes en C++ y ejemplos de sus funciones:

Colas (Queue)

Una cola es una estructura de datos que sigue el principio "primero en entrar, primero en salir" (FIFO). Puedes declarar una cola utilizando la biblioteca `` de C++. Ejemplo de uso de una cola:

          
            #include <bits/stdc++.h>
            using namespace std;

            int main() {
                queue<int> miCola;
                miCola.push(1); // Agregar un elemento al final de la cola
                int frente = miCola.front(); // Acceder al primer elemento
                miCola.pop(); // Eliminar el primer elemento
                return 0;
            }
          
        

Colas Dobles (Deque)

Un deque (cola doble) es una estructura de datos que permite agregar y eliminar elementos en ambos extremos. Puedes declarar un deque utilizando la biblioteca `` de C++. Ejemplo de uso de un deque:

          
            #include <bits/stdc++.h>
            using namespace std;

            int main() {
                deque<int> miDeque;
                miDeque.push_back(1); // Agregar un elemento al final
                miDeque.push_front(2); // Agregar un elemento al principio
                int frente = miDeque.front(); // Acceder al primer elemento
                int final = miDeque.back(); // Acceder al último elemento
                miDeque.pop_front(); // Eliminar el primer elemento
                return 0;
            }
          
        

Colas de Prioridad (Priority Queue)

Una cola de prioridad es una estructura de datos que organiza los elementos en función de su prioridad. Puedes declarar una cola de prioridad utilizando la biblioteca `` de C++. Ejemplo de uso de una cola de prioridad:

          
            #include <bits/stdc++.h>
            using namespace std;

            int main() {
                priority_queue<int> miColaDePrioridad;
                miColaDePrioridad.push(3); // Agregar elemento
                int mayor = miColaDePrioridad.top(); // Obtener el elemento con mayor prioridad
                miColaDePrioridad.pop(); // Eliminar el elemento con mayor prioridad
                return 0;
            }
          
        

Pilas (Stack)

Una pila es una estructura de datos que sigue el principio "último en entrar, primero en salir" (LIFO). Puedes declarar una pila utilizando la biblioteca `` de C++. Ejemplo de uso de una pila:

          
            #include <bits/stdc++.h>
            using namespace std;

            int main() {
                stack<int> miPila;
                miPila.push(1); // Agregar un elemento
                int tope = miPila.top(); // Acceder al elemento en la cima
                miPila.pop(); // Eliminar el elemento en la cima
                return 0;
            }
          
        

Estas estructuras de datos son fundamentales en programación para resolver diversos problemas y optimizar la gestión de datos en tus programas.