[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.html>


Más información sobre la lista de distribución Cconclase