//#================================================================
//#Nombre:
//#Autor: Ernesto Lezcano
//#Descripcion:
//#================================================================
//# -------------------------[C O D E]-----------------------------
//#================================================================
#include <iostream>
const int TAM=50;
class Pila
{
public:
typedef int Valor;
Pila();
//Pila(Pila x);
bool Apilar(Valor);
bool Desapilar();
bool CimaPila(Valor &);
bool PilaVacia();
//void MostrarPila(void);
bool Primeros(int x, Pila p1);
bool Ultimos(int x, Pila p1);
private:
int cima;
Valor v[TAM];
};
#include <iostream.h>
#include "pila.h"
//#================================================================
//# -----------------------[Constructor]---------------------------
//#================================================================
Pila::Pila()
{
cima=-1;
}
//#================================================================
//# --------------------------[Apilar]-----------------------------
//#================================================================
bool Pila::Apilar(Valor num)
{
bool apila;
if (cima == TAM)
{
apila=false;
}
else
{
cima++;
v[cima]=num;
apila=true;
}
return apila;
}
//#================================================================
//# ------------------------[Desapilar]----------------------------
//#================================================================
bool Pila::Desapilar()
{
bool desapila;
if (cima==-1)
{
desapila=false;
}
else
{
desapila=true;
cima--;
}
return desapila;
}
//#================================================================
//# -------------------------[CimaPila]----------------------------
//#================================================================
bool Pila::CimaPila(Valor &num)
{
bool cimapila;
if (PilaVacia())
{
cimapila=false;
}
else
{
cimapila=true;
num=v[cima];
}
return cimapila;
}
//#================================================================
//# -------------------------[PilaVacia]---------------------------
//#================================================================
bool Pila::PilaVacia()
{
return (cima == -1);
}
/*
//#================================================================
//# -----------------------[MostrarPila]---------------------------
//#================================================================
void Pila::MostrarPila()
{
for (int i=0; i<=cima; i++)
{
cout << v[i] << endl;
}
}
*/
//#================================================================
//# ---------------------[SubPilaPrimeros]-------------------------
//#================================================================
bool Pila::Primeros(int x, Pila p1)
{
int i;
bool primero=false;
if (!p1.PilaVacia())
{
for (i=0; i<x && i<p1.cima; i++)
v[i]=p1.v[i];
cima=x-1;
primero=true;
}
return primero;
}
//#================================================================
//# ---------------------[SubPilaUltimos]--------------------------
//#================================================================
bool Pila::Ultimos(int x, Pila p1)
{
int i;
bool ultimo=false;
if(!p1.PilaVacia()&&x<p1.cima)
{
for (i=p1.cima-x; i<p1.cima; i++)
{
v[i-x]=p1.v[i];
cout << v[i-x]<<endl;
}
cima=x-1;
ultimo=true;
}
return ultimo;
}
No hay comentarios:
Publicar un comentario