
























Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Este documento explora la estructura de datos 'colas', un concepto fundamental en la informática que sigue el principio fifo (first in, first out). Se detallan las implementaciones de colas en memoria estática y dinámica, incluyendo ejemplos de código en c++. Útil para estudiantes de ciencias de la computación que buscan comprender cómo se gestionan los datos de manera secuencial y eficiente en diversos escenarios de programación. Se analizan las operaciones básicas como 'encolar' y 'desencolar', y se discuten las aplicaciones prácticas en sistemas operativos y algoritmos de búsqueda. Además, se incluyen diagramas y explicaciones claras para facilitar la comprensión de los conceptos clave.
Tipo: Esquemas y mapas conceptuales
1 / 32
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!

























Unidad de Apoyo a la Formación Académica
Unidad de Apoyo a la Formación Académica
Unidad de Apoyo a la Formación Académica
Unidad de Apoyo a la Formación Académica
Unidad de Apoyo a la Formación Académica }
class ColaEstatica** { private: int frente, final; int * arreglo; int tamano; public: ColaEstatica( int t); ~ColaEstatica(); bool estaVacia (); bool estaLlena (); void agregar ( int valor); void eliminar (); void mostrar (); };
#include "ColaEstatica.h" #include ColaEstatica::ColaEstatica( int t) : tamano(t) { frente = final = - 1 ; arreglo = new int [tamano]; } ColaEstatica::~ColaEstatica() { delete [] arreglo; } bool ColaEstatica::estaVacia() { return frente == - 1 && final == - 1 ; } bool ColaEstatica::estaLlena() { return (final + 1 ) % tamano == frente; } void ColaEstatica::agregar( int valor) {
Unidad de Apoyo a la Formación Académica if (estaLlena()) { std::cout << " \n\n La cola esta llena. No se puede agregar." << std::endl; system("pause"); return ; } if (estaVacia()) { frente = final = 0 ; } else { final = (final + 1 ) % tamano; } arreglo[final] = valor; } void ColaEstatica::eliminar() { if (estaVacia()) { std::cout << " \n\n La cola esta vacia. No se puede eliminar." << std::endl; system("pause"); return ; } std::cout << " \n\n Se elimino el elemento " << arreglo[frente] << " de la cola." << std::endl; system("pause"); if (frente == final) { frente = final = - 1 ; } else { frente = (frente + 1 ) % tamano; } } void ColaEstatica::mostrar() { if (estaVacia()) { std::cout << " \n\n La cola esta vacia." << std::endl; return ; }
Unidad de Apoyo a la Formación Académica } } datos[i] = '\0'; return atoi(datos); }
Unidad de Apoyo a la Formación Académica
Unidad de Apoyo a la Formación Académica
#include "ColaDinamica.h" #include "Validacion.h" #include int main () { ColaDinamica cola; bool continuar = true; do { system("cls"); std::cout << " \n\t COLA DINAMICA \n\n " << "1. Agregar \n " << "2. Eliminar \n " << "3. Mostrar \n " << "4. Salir \n\n "; switch (ingresar_enteros("Ingresar la opcion: ")) { case 1 : cola.agregar(ingresar_enteros(" \n\n Ingresar un numero: ")); break ; case 2 : cola.eliminar(); break ; case 3 : cola.mostrar(); system("pause"); break ;
Unidad de Apoyo a la Formación Académica case 4 : continuar = false; break ; default: break ; } } while (continuar); return 0 ; }
#pragma once #include "Nodo.h" class ColaDinamica { private: Nodo* frente; Nodo* final; public: ColaDinamica(); ~ColaDinamica(); bool estaVacia (); void agregar ( int valor); void eliminar (); void mostrar (); }; ColaDinamica.cpp #include "ColaDinamica.h" #include ColaDinamica::ColaDinamica() : frente(nullptr), final(nullptr) {} ColaDinamica::~ColaDinamica() { while (!estaVacia()) { eliminar(); } } bool ColaDinamica::estaVacia() { return frente == nullptr; }
Unidad de Apoyo a la Formación Académica
#pragma once class Nodo { public: int dato; Nodo* siguiente; Nodo( int valor); ~Nodo(); };
#include "Nodo.h" Nodo::Nodo( int valor) : dato(valor), siguiente(nullptr) {} Nodo::~Nodo() { delete siguiente; }
#pragma once #include #include int borrar ( char * datos, int & i) { if (i > 0 ) { printf(" \b \b "); i--; datos[i] = '\0'; return i; } return 0 ; } int ingresar_enteros (std::string msj) { char * datos = new char [ 10 ]; char c; int i = 0 ;
Unidad de Apoyo a la Formación Académica std::cout << msj; while ((c = _getch()) != 13 && i < 9 ) { if ((c >= '0' && c <= '9') || c == 8 ) { if (c == 8 ) { i = borrar(datos, i); } else { printf("%c", c); datos[i++] = c; } } } datos[i] = '\0'; return atoi(datos); }
Unidad de Apoyo a la Formación Académica
Unidad de Apoyo a la Formación Académica