jueves, 7 de junio de 2007

Ejemplo de un programa usando Pilas y Colas

Encabezado:

Librerias Predefinidas

//Prototipos
int sacarpila();
void meterpila(int);
int pilavacia();
int pilallena();
int sacarcola();
void metercola(int);
int colavacia();
int colallena();

//Variables globales
int tope=0;
int pila[10];
int tope2=0;
int cola[10];

//Programa principal
void main()
{
clrscr();
meterpila(10);
meterpila(8);
meterpila(7);
cout << sacarpila()<< endl;
cout<< sacarpila()<< endl;
cout<< sacarpila()<< endl;
metercola(7);
metercola(8);
metercola(10);
cout<< sacarcola()<< endl;
cout<< sacarcola()<< endl;
cout<< sacarcola()<< endl;
getch();
}

//Pilas
//Meter un dato

void meterpila(int numero)
{
if (!pilallena())
{
pila[tope]=numero;
tope++;
}
else
{
cout<< "Error, pila llena";
}
}

//Verificar que no este llena la pila para poder meter los datos
int pilallena()
{
if (tope==10)
{
return (1);
}
else
{
return (0);
}
}

//Sacar un dato
int sacarpila()
{
if (!pilavacia())
{
tope--;
int dato=pila[tope];
return(dato);
}
else
{
return(-1);
}
}

//Verificar que la pila tenga datos
int pilavacia()
{
if (tope<0)
{
return (1);
}
else
{
return (0);
}
}