[C++][Aporte] Código de clase "pila"

Iniciado por ivancea96, 19 Diciembre 2013, 18:46 PM

0 Miembros y 1 Visitante están viendo este tema.

ivancea96

Holas, hoy me dió por colgar una clase, que simula la pila de ASM. Se suele hacer mucho, pero la voy a postear:

Código (cpp) [Seleccionar]
class pila{
private:
   int data;
   int length;
   pila *next;
   void nullNext(){next = nullptr;}

public:
   pila(){data = -1; length = 0; next = nullptr;}
   pila(pila *p){data = p->data; length = p->length; next = p->next;}
   ~pila(){while(next != nullptr) pop();}
   int getData(){return data;}
   int getLength(){return length;}
   pila *getNext(){return next;}
   bool pop(){
       if(next != nullptr){
           data = next->data;
           --length;
           pila *temp = next;
           next = next->next;
           temp->nullNext();
           delete temp;
           return true;
       }
       return false;
   }
   void push(int d = 0){
       next = new pila(this);
       ++length;
       data = d;
   }
};


Si a alguien le gusta, que la use. Si alguien le ve algún bug/error/inconveniente, que lo diga.

La pila, guarda 3 valores: La direccion de la siguiente de la pila (*next); el dato de ese segmento (dato); la cantidad o longitud de la pila (length).

Ciao :3

amchacon

Te falta hacerlo en formato plantilla. Asi se parece más a la pila de la librería estándar  :¬¬
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar