[C con Clase] Como eliminar un nodo de una lista

Cristian David Villota Jacome cristian.vj23 en hotmail.com
Mar Abr 20 00:43:57 CEST 2010


Hola Amigos:
Estoy programando una estructura de datos, bueno una lista con nodos que solicitan nombre y telefono; bueno he podido agregar nodos y mostrar en pantalla los que tengo pero no puedo eliminar un nodo, si alguien me puede ayuar con el algoritmo para hacerlo lo agradezco de antemano.

#include<stdio.h>#include<conio.h>#include<stdlib.h>

struct agenda{ char nom[20]; char tel[12]; struct agenda*sig;};


struct agenda*primero,*ultimo;



void mostrar_menu(){ printf("\n\n\t\tMENé"); printf("\n\n\t1.A¤adir Elemento"); printf("\n\t2.Borrar Elemento"); printf("\n\t3.Mostrar Lista"); printf("\n\t4.Salir");
 printf("\n\n\n\tElige una opci¢n: "); fflush(stdout);}


void anadir_elemento(){ struct agenda*nuevo; nuevo=(struct agenda*)malloc(sizeof(struct agenda));
 if(nuevo==NULL)  {   printf("NO HAY MEMORIA DISPONIBLE");  }
 printf("\nNuevo Elemento\n");

 printf("Nombre: "); fflush(stdout); gets(nuevo->nom);
 printf("\nTelefono: "); fflush(stdout); gets(nuevo->tel);
 nuevo->sig=NULL;
 if(primero==NULL) {  printf("\nPrimer Elemento\n");  primero=nuevo;  ultimo=nuevo; } else {  ultimo->sig=nuevo;  ultimo=nuevo; } getch(); clrscr();}




///////////////////////




void mostrar_lista(){ struct agenda*auxiliar; int i; i=0; auxiliar=primero; printf("\n\nMostrando lista completa\n");
 while(auxiliar!=NULL) {  printf("Nombre: %s,    Telefono: %s\n",auxiliar->nom,auxiliar->tel);  auxiliar=auxiliar->sig;  i++; }  if(i==0)  {   printf("\n\nLista vacia\n");  }  getch();  clrscr();}




void main(){ clrscr(); char op;
 primero=(struct agenda*)NULL; ultimo=(struct agenda*)NULL;
 do{mostrar_menu();op=getch();
 switch(op)  {   case '1': anadir_elemento();   break;
   case '2': printf("\n No disponible....\n");   break;
   case '3': mostrar_lista();   break;
   case '4': exit(1);
   default: printf("opcion no valida\n");   break;  } }while(op!='4');

 getch();}


 		 	   		  
_________________________________________________________________
News, entertainment and everything you care about at Live.com. Get it now!
http://www.live.com/getstarted.aspx
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100419/d5d95786/attachment.html>


Más información sobre la lista de distribución Cconclase