#include ; #include ; #include ; const int MaxPila=10; enum boolean {true=1, false=0}; enum {Nulo=-1}; typedef int TipoDato; struct TipoNodo{ TipoDato Info; TipoNodo *Siguiente; }; typedef TipoNodo *Pila; typedef TipoNodo *Nodo; void main(){ int i=1; Nodo e; Pila p; //Crea Nodo P (Cabeza) p=(Pila)malloc(sizeof(struct TipoNodo)); p->Siguiente=NULL; p->Info=99; //Crea Nodo e e=(Nodo)malloc(sizeof(struct TipoNodo)); e->Siguiente=NULL; e->Info=9; //Ingresa un elemento a la lista de punteros p->Siguiente=e; //Crea Nodo e e=(Nodo)malloc(sizeof(struct TipoNodo)); e->Siguiente=NULL; e->Info=7; //Enlaza nuevo nodo con lista de punteros. e->Siguiente=p->Siguiente; p->Siguiente=e; //Crea Nodo e e=(Nodo)malloc(sizeof(struct TipoNodo)); e->Siguiente=NULL; e->Info=6; //Enlaza nuevo nodo con lista de punteros. e->Siguiente=p->Siguiente; p->Siguiente=e; //Elimina Un nodo e=p; p=p->Siguiente; free(e); /* clrscr(); printf("\nNodo 1:%d",p->Siguiente->Info); printf("\nNodo 2:%d",p->Siguiente->Siguiente->Info); */ //Crea Nodo e e=(Nodo)malloc(sizeof(struct TipoNodo)); e->Siguiente=NULL; e->Info=5; //Enlaza nuevo nodo con lista de punteros. e->Siguiente=p->Siguiente; p->Siguiente=e; //Crea Nodo e e=(Nodo)malloc(sizeof(struct TipoNodo)); e->Siguiente=NULL; e->Info=4; //Enlaza nuevo nodo con lista de punteros. e->Siguiente=p->Siguiente; p->Siguiente=e; //Crea Nodo e e=(Nodo)malloc(sizeof(struct TipoNodo)); e->Siguiente=NULL; e->Info=3; //Enlaza nuevo nodo con lista de punteros. e->Siguiente=p->Siguiente; p->Siguiente=e; //Imprime elementos de la Lista clrscr(); e=p; while (e->Siguiente!=NULL){ printf("\nNodo %d =%d",i,e->Siguiente->Info); i++; e=p->Siguiente; } getche(); }