Skip to content

Latest commit

 

History

History
111 lines (80 loc) · 3.15 KB

File metadata and controls

111 lines (80 loc) · 3.15 KB

Stack and Queues Assignment

A C++ project demonstrating fundamental data structures: Stack Inversion, Priority Queue Processing, and Linked List-based Priority Queues.

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. License

About The Project

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.

Built With

  • C++

(back to top)

Getting Started

To get a local copy up and running, compile the source code natively via GCC/G++.

Prerequisites

  • GCC / G++ (MinGW on Windows)
  • C++11 or higher

Installation

  1. Clone the repo
    git clone https://github.com/jerichd4c/data-structures-assignment-2.git
  2. Navigate to the project directory
    cd repositorio-local-tarea-1
  3. Compile the desired data structure
    # Compile Stack Inversion
    g++ TAREA2_PilaInvertida.CPP -o bin/PilaInvertida.exe
    
    # Compile Priority Queue Processing
    g++ TAREA2_ProcesarDatos.cpp -o bin/ProcesarDatos.exe
    
    # Compile Linked List Priority Queue
    g++ TAREA2_ColaDePrioridadSimple.cpp -o bin/ColaDePrioridadSimple.exe

(back to top)

Usage

Execute the preferred binary to run the interactive console environment:

# Run Stack Inversion
./bin/PilaInvertida.exe

# Run Priority Queue Processing
./bin/ProcesarDatos.exe

# Run Linked List Priority Queue
./bin/ColaDePrioridadSimple.exe

(back to top)

Roadmap

  • Refactor TAREA2_ColaDePrioridadSimple.cpp to implement a dedicated push function for inserting data into priority queues, instead of traversing all nodes to reach the target queue.

(back to top)

License

Distributed under the MIT License.

(back to top)