Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda con pilas...

Estas en el tema de Ayuda con pilas... en el foro de C/C++ en Foros del Web. Hola tengo el siguiente programita #include <iostream> using namespace std; class nodo { private: int valor; nodo *siguiente; public: nodo(int v, nodo *sig = NULL) ...
  #1 (permalink)  
Antiguo 23/11/2010, 07:59
 
Fecha de Ingreso: octubre-2010
Mensajes: 7
Antigüedad: 13 años, 6 meses
Puntos: 0
Exclamación Ayuda con pilas...

Hola tengo el siguiente programita

#include <iostream>
using namespace std;

class nodo {
private:
int valor;
nodo *siguiente;
public:
nodo(int v, nodo *sig = NULL)
{ valor = v; siguiente = sig; }
friend class pila;
};
typedef nodo *pnodo;
class pila {
private:
pnodo ultimo;
public:
pila() {ultimo=NULL;} ;
~pila();
void Push(int v);
int Pop();};
void pila::Push(int v) {
pnodo nuevo;
nuevo = new nodo(v, ultimo);
ultimo = nuevo;
}
pila::~pila() {
while(ultimo) Pop();
}
int pila::Pop() {
pnodo aux; /* aux es puntero auxiliar */ int v;
/* variable auxiliar para retornar el valor agregado */
if(ultimo==NULL)
return 99999; /*Si no hay nodos en la pila */
aux=ultimo; /* aux apunta al elemento tope de la pila */
ultimo=aux->siguiente; /*ultimo apunta al penúltimo */
v=aux->valor; /* Guardamos el valor eliminado para retornar */
delete aux; /* Borrar el nodo */
return v;
}
int main() {
pila iPila; // iPila es instancia de pila
iPila.Push(20);
cout << "Push(20)" << endl;
iPila.Push(10);
cout << "Push(10)" << endl;
cout << "Pop() = " << iPila.Pop() << endl;
iPila.Push(40);
cout << "Push(40)" << endl;
iPila.Push(30);
cout << "Push(30)" << endl;
cout << "Pop() = " << iPila.Pop() << endl;
cout << "Pop() = " << iPila.Pop() << endl;
iPila.Push(90);
cout << "Push(90)" << endl;
cout << "Pop() = " << iPila.Pop() << endl;
cout << "Pop() = " << iPila.Pop() << endl;
return 0;
}

y no termino de entender que hacer es segmento de codigo:
typedef nodo *pnodo;

De no estar, como se reemplazaria esta sentencia en el resto del programa? es decir, en vez de pnodo aux; por ejemplo, que se colocaria? muchas gracias!

Última edición por orlowski; 23/11/2010 a las 08:27
  #2 (permalink)  
Antiguo 23/11/2010, 08:39
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Ayuda con pilas...

Esto

Código C:
Ver original
  1. pnodo aux;

deberia ser:

Código C:
Ver original
  1. nodo * aux;
  #3 (permalink)  
Antiguo 23/11/2010, 13:35
 
Fecha de Ingreso: octubre-2010
Mensajes: 7
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Ayuda con pilas...

Cita:
Iniciado por sam90 Ver Mensaje
Esto

Código C:
Ver original
  1. pnodo aux;

deberia ser:

Código C:
Ver original
  1. nodo * aux;
Muchas gracias!

Etiquetas: c++, pilas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:31.