[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