[C con Clase] Implementar una pila
Pamela Dellepiane
pdellepiane en gmail.com
Vie Jun 22 05:51:37 CEST 2007
hola!! como les dije, estoy aprendiendo y para eso escribi el
siguiente encabezado para una pila de personas. Me gustaria saber si
tiene sentido que yo misma haga la siguiente implementacion cuando se
podria utilizar la STL no? (no conozco mucho la STL). o sea, podria
utilizar la STL o conocen alguna otra librería que me provea las
siguientes operaciones?
#ifndef _STACK_H_
#define _STACK_H_
#include "Person.h"
typedef unsigned int ENTERO;
typedef unsigned char BYTE;
class Person;
class Stack
{
private:
Person ** stack; // Pila de almacenamiento
Person ** stackp; // El puntero de la pila
BYTE Type; // Para indicar si la pila se creó con
constructor vacio o con tamaño configurado
ENTERO Size; // Tamaño de la pila
static void * InitializeStack ( ENTERO Size );
public:
// Constructor sin tamaño de pila
Stack ( void );
// Constructor con tamaño de la pila
Stack ( ENTERO size , bool &result );
// Destructor del objeto
~Stack ( void );
// Devuelve la cantidad de elementos apilados
int Elements ( void );
// Devuelve TRUE si la pila está llena
bool IsFull ( void );
// Devuelve TRUE si la pila está vacia
bool IsEmpty ( void );
// Limpiar la pila
void CleanStack ( void );
// Establecer un buffer y tamaño determinados
void SetBufferStack ( ENTERO size , Person ** Buffer );
// Valor de una posición dada
Person * ValueStack ( ENTERO n );
// Valor del puntero de pila
Person ** PointerStack ( void );
// Sacar un elemento de la pila
Person * Pop ( void );
// Sacar un elemento de la pila
void Pop ( ENTERO value );
// Reponer n elementos de la pila
bool UnPop ( ENTERO value );
// Obtener el elemento del tope de la pila
Person * StackTop ( void );
// Añadir un objeto en la pila
bool Push ( Person * p );
};
#endif
gracias y saludos!!
Más información sobre la lista de distribución Cconclase