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

Pila Y Colas


Enviado por   •  19 de Noviembre de 2013  •  5.098 Palabras (21 Páginas)  •  328 Visitas

Página 1 de 21

pilas

#include <iostream>

using namespace std;

struct nodo{

int nro;

struct nodo *sgte;

};

typedef nodo *ptrPila; // creando nodo tipo puntero( tipo de dato )

/* Apilar elemento

---------------------------------------------------------------------*/

void push( ptrPila &p, int valor )

{

ptrPila aux;

aux = new(struct nodo); // apuntamos al nuevo nodo creado

aux->nro = valor;

aux->sgte = p ;

p = aux ;

}

/* Desapilar elemento(devuelve elemento)

---------------------------------------------------------------------*/

int pop( ptrPila &p )

{

int num ;

ptrPila aux;

aux = p ;

num = aux->nro; // asignamos el primer vamor de la pila

p = aux->sgte ;

free(aux);

return num;

}

/* Muestra elementos de la pila

---------------------------------------------------------------------*/

void mostrar_pila( ptrPila p )

{

ptrPila aux;

aux = p; // apunta al inicio de la lista

while( aux !=NULL )

{

cout<<"\t"<< aux->nro <<endl;

aux = aux->sgte;

}

}

/* Eliminar todos los elementos de la pila

---------------------------------------------------------------------*/

void destruir_pila( ptrPila &p)

{

ptrPila aux;

while( p != NULL)

{

aux = p;

p = aux->sgte;

free(aux);

}

}

/* Menu de opciones

----------------------------------------------------------------------*/

void menu()

{

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

printf(" 1. Apilar\n\n");

printf(" 2. Qitar pila\n\n");

printf(" 3. Ver pila\n\n");

printf(" 4. Eliminar pila\n\n");

printf(" 5. Salir\n\n");

printf("\n Tecle una opcion:\n\n");

}

/* Funcion Principal

----------------------------------------------------------------------*/

int main()

{

ptrPila p = NULL; // creando pila

int dato;

int op;

int x ; // numero que devuelve la funcon pop

system("color 0b");

do

{

menu(); cin>> op;

switch(op)

{

case 1:

printf("\n Numero a apilar: ");

scanf("%d",&dato);

push( p, dato );

printf("\n\n\t\tNumero ", &dato, " apilado...\n\n");

break;

case 2:

x = pop( p );

printf("\n\n\t\tNumero ", &x, " desapilado...\n\n");

break;

...

Descargar como (para miembros actualizados)  txt (16.6 Kb)  
Leer 20 páginas más »
Disponible sólo en Clubensayos.com