ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

ROGRAMA - EJEMPLO DE COLA DE DATOS


Enviado por   •  9 de Noviembre de 2015  •  Apuntes  •  1.050 Palabras (5 Páginas)  •  178 Visitas

Página 1 de 5

#include <iostream>

#include <stdlib.h>

#include <stdio.h>

struct nodo

{

int dato;

struct nodo *sig;

};

struct cola

{

nodo *frente;

nodo *atras ;

};

void cabecera(void) {

int i;

printf("\t\t|");

for(i = 0; i < 50; i++) printf("°");

printf("|\n\t\t|");

printf("\t\tEJEMPLO DE COLA DE DATOS\t |\n\t\t|");

printf("\t\tBy: Ricardo Flores Mejia\t |\n");

printf("\t\t|");

for(i = 0; i < 50; i++) printf("°");

printf("|\n");

return;

}

void encolar( struct cola &q, int valor )

{

struct nodo *base = new(struct nodo);

base->dato = valor;

base->sig = NULL;

if( q.frente == NULL)

q.frente = base; // encola el primero elemento

else

(q.atras)->sig = base;

q.atras = base; // apunta al ultimo elemento

}

int desencolar( struct cola &q )

{

int num ;

struct nodo *base ;

base = q.frente; // apunta al inicio de la cola

num = base->dato;

q.frente = (q.frente)->sig;

delete(base); // libera memoria base

return num;

}

void muestraCola( struct cola q )

{

struct nodo *base;

base = q.frente;

printf("\n\tELEMENTOS EN COLA\n\n");

printf("INICIO");

while( base != NULL )

{

printf(" <-- [%d]",base->dato);

base = base->sig;

}

printf(" <-- FIN");

printf("\n\n");

}

void vaciaCola( struct cola &q)

{

struct nodo *base;

while( q.frente != NULL)

{

base = q.frente;

q.frente = base->sig;

delete(base);

}

q.frente = NULL;

q.atras = NULL;

}

int menu(void) {

int op;

system("cls");

cabecera();

printf("\n\t1. Insertar elemento\n");

printf("\t2. Retirar elemento\n");

printf("\t3. Imprimir cola de datos\n");

...

Descargar como (para miembros actualizados) txt (3 Kb) pdf (46 Kb) docx (13 Kb)
Leer 4 páginas más »
Disponible sólo en Clubensayos.com