A C++ project demonstrating fundamental data structures: Stack Inversion, Priority Queue Processing, and Linked List-based Priority Queues.
Table of Contents
This project contains optimized C++ implementations of fundamental data structures crafted for academic coursework:
TAREA2_PilaInvertida.CPP: Reverses a stack in-place using a temporary stack while maintaining the original stack structure.TAREA2_ProcesarDatos.cpp: Processes queue data by priority order without using standard queue classes, demonstrating FIFO compliance.TAREA2_ColaDePrioridadSimple.cpp: Implements a priority queue template using simple linked lists, where each priority level contains its own internal queue.
To get a local copy up and running, compile the source code natively via GCC/G++.
- GCC / G++ (MinGW on Windows)
- C++11 or higher
- Clone the repo
git clone https://github.com/jerichd4c/dynamic-data-structures.git
- Navigate to the project directory
cd dynamic-data-structures/stack-queue-assignment - Compile the desired data structure
# Compile Stack Inversion g++ TAREA2_PilaInvertida.CPP -o output/TAREA2_PilaInvertida.exe # Compile Priority Queue Processing g++ TAREA2_ProcesarDatos.cpp -o output/TAREA2_ProcesarDatos.exe # Compile Linked List Priority Queue g++ TAREA2_ColaDePrioridadSimple.cpp -o output/TAREA2_ColaDePrioridadSimple.exe
Execute the preferred binary to run the interactive console environment:
# Run Stack Inversion
./output/TAREA2_PilaInvertida.exe
# Run Priority Queue Processing
./output/TAREA2_ProcesarDatos.exe
# Run Linked List Priority Queue
./output/TAREA2_ColaDePrioridadSimple.exe- Refactor
TAREA2_ColaDePrioridadSimple.cppto implement a dedicatedpushfunction for inserting data into priority queues, instead of traversing all nodes to reach the target queue.
Distributed under the MIT License.