miércoles, 21 de septiembre de 2011
Frase palíndroma
PilaChar.h
#pragma once
class PilaChar
{
private:
int size;
int cab;//Cabecera de la pila
public:
bool llena;
bool hasElements;
struct structPila
{
wchar_t dato;
} *pila;
public:
PilaChar(int tam); //Constructor
bool push(wchar_t xdato);
wchar_t pop ();
wchar_t top ();
int length();
wchar_t *getPila();
};
PilaChar.cpp
#include "StdAfx.h"
#include "PilaChar.h"
PilaChar::PilaChar(int tam)
{
size = tam;
cab = -1; //Cabecera apunta a -1, entonces no hay elementos en la pila
pila = new structPila[size];
llena = false;
hasElements = false;
}
//Inserta un elemento en la pila
bool PilaChar::push(wchar_t xdato)
{
if(llena)
return false;
else
{
cab++;
pila[cab].dato = xdato;
hasElements = true;
if(cab == size-1)
llena = true;
}
}
//Extrae el elemento de la cabecera de la pila
wchar_t PilaChar::pop()
{
if(hasElements)
{
wchar_t dato_out = top();
cab--;
llena = false;
if(cab<0)
hasElements = false;
return dato_out;
}
else
return '\0';
}
//Muestra el elemento de la cabecera de la pila
wchar_t PilaChar::top()
{
if(hasElements)
return pila[cab].dato;
else
return '\0';
}
int PilaChar::length()
{
return cab+1;
}
wchar_t *PilaChar::getPila()
{
wchar_t *pilaGeted = new wchar_t[cab+1];
int j=cab;
for(int i=0;i<=cab;i++)
{
pilaGeted[j] = pila[i].dato;
j--;
}
return pilaGeted;
}
Descargar la solución completa de Pilas
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario