[C con Clase] Pilas y Colas
Silvio S. Stenta
silviostenta en hotmail.com
Mar Feb 23 14:01:14 CET 2010
Las Pilas, Colas, Listas se pueden implementar con arreglos o con punteros y con o sin estructuras, siempre cuando empiezan a enseñarlos empiezan con arreglos que es un poco mas facil.
Lo primero que tenes que entender es que se pueden implementar todas mas o menos de la misma manera, INSERTAR, EXTRAER, MOSTRAR etc...
COLAS:
INSERTAR o Encolar : Adelante del primero
EXTRAER o DesEncolar : Ultimo
MOSTRAR: Muestra el ultimo
PILAS:
INSERTAR o Apilar : Adelante del primero
EXTRAER o DesApilar : Primero
MOSTRAR: Primero
LISTAS:
INSERTAR: En cualquier posición
EXTRAER : De cualquier posición
MOSTRAR: De cualquier posición
Ejemplo de Pila: (para la cola cambia donde insertas y de donde sacas)
#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;
#define MAXELEM 50
typedef char TipoElemento;
struct _TPila
{
int Tope;
TipoElemento Elemento[MAXELEM];
};
typedef struct _TPila Pila;
void CrearPila(Pila &P1) {P1.Tope=-1;}
int PilaLlena(Pila P1){return P1.Tope==(MAXELEM-1);}
int PilaVacia(Pila P1){return P1.Tope==-1;}
int Apilar(Pila &P1,TipoElemento E)
{
if (PilaLlena(P1)) return 0;
++P1.Tope;
P1.Elemento[P1.Tope]=E;
return 1;
}
int Desapilar(Pila &P1,TipoElemento &E)
{
if(PilaVacia(P1)) return 0;
//cout<<P1.Elemento[P1.Tope]<<endl;
E=P1.Elemento[P1.Tope--];
return 1;
}
int Tope(Pila P1,TipoElemento &E)
{
if(PilaVacia(P1)) return 0;
E=P1.Elemento[P1.Tope];
return 1;
}
int MostrarPila(Pila P1)
{
if (P1.Tope==-1) return 1;
else
{
cout<<P1.Elemento[P1.Tope]<<"\t";
P1.Tope--;
MostrarPila(P1);
}
}
From: Cesar Cortes Baron
Sent: Tuesday, February 23, 2010 1:09 AM
To: conclase
Subject: [C con Clase] Pilas y Colas
Hola amigos
me estoy introduciendo en le tema de estructuras de datos, me gustaria saber si me podrian ayudar con algunos ejemplos basicos sobre el manejo de Pilas y Colas,
ya que aun no logro entender muy bien el concepto, no se en que tipo de programas pueda apliar este tipo de herramientas.
Gracias.
--------------------------------------------------------------------------------
Explore the seven wonders of the world Learn more!
--------------------------------------------------------------------------------
_______________________________________________
Lista de correo Cconclase Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100223/c9b2eaa0/attachment-0001.html>
Más información sobre la lista de distribución Cconclase