Pilas en c++

Iniciado por GABETORAP, 2 Diciembre 2011, 01:40 AM

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

GABETORAP

Hola a todos
el siguiente programa FUNCIONA CORRECTAMENTE!!
Solo que necesito exponerlo y no entiendo bn las instrucciones
Por favor alguien podría explicarme linea a linea el codigo: gracias!

#include <iostream>
using namespace std;
struct nodo
{
   int dato;
   struct nodo* Next;
};

  typedef struct nodo *pilaPtr;
  pilaPtr Nuevo, Inicio, Aux, P;

   pilaPtr getpila(void)
{
pilaPtr p;
p=(pilaPtr)malloc(sizeof(struct nodo));
if(p != 0)
p->Next = 0;
return (p);
}

void freepila(pilaPtr p)
{
free(p);
}

void Imprime()
{
pilaPtr Aux;
Aux = Inicio;

if(Aux != 0)
{
do
{
cout << Aux->dato <<"\t ";
Aux = Aux->Next;

}
while(Aux != 0);
}
}

void Agregar(int X)
{
Nuevo = getpila();
if(Nuevo != 0)
{
Nuevo->Next = Inicio;
Inicio = Nuevo;
Inicio->dato = X;
}
}
void Menu()
{
system("cls");

cout << "\nMenu";
cout << "\n1 AGREGAR UN NODO A LA LISTA ";
cout << "\n2 ELIMINAR NODO";
cout << "\n3 IMPRIMIR LISTA";
cout << "\n4 SALIR\n\n";
}
int main()
{
  int Opc = 0, X;
   do
   {
      Menu();
    cout << "\n TECLEE UNA OPCION: ";
    cin >> Opc;

switch (Opc)
{
case 1:
{
cout << "\n TECLEE EL VALOR QUE DESEE AGREGAR ";
cin>>X;
Agregar(X);
break;
}
case 2:
{
P=Inicio;
Inicio=P->Next;
free(P);

system("PAUSE");
break;
}
case 3:
Imprime();

system("PAUSE");
break;
}
}
while(Opc != 4);

return EXIT_SUCCESS;
}

.:UND3R:.

Podrías hacer aun que sea el esfuerzo de ir al subforo de C++ como mínimo para que desde ahí te sirvan en bandeja tu código, Saludos

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

GABETORAP


.:UND3R:.


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)