Listas Enlazadas
C/Visual C
Actualizado el 15 de Octubre del 2020 por Daniel (194 códigos) (Publicado el 13 de Octubre del 2020)
889 visualizaciones desde el 13 de Octubre del 2020
Listas enlazadas
















# include <stdio.h>
struct info{int a;
struct info*sig;}*cabeza;
struct info *aux;int menu(){
int opc;
printf("\n\nELIGE UNA OPCION:\n");
printf("(1)Insertar\n");
printf("(2)Insertar desde el fondo\n");
printf("(3)Eliminar\n");
printf("(4)Eliminar dato\n");
printf("(5)Mostrar\n");
printf("(6)Salir\n");
scanf("%d",&opc);
return opc;
}void insertar(int dato){
aux=(struct info*) malloc (sizeof(aux));
if(aux!=NULL){
aux->a=dato;
if (cabeza==NULL){
cabeza=aux;aux->sig=cabeza;
} else{ cabeza=aux; } }else{ printf("Error");}
}void eliminar(){
if (cabeza==NULL){printf("Lista vacia\n");}
else{ aux=cabeza;cabeza=cabeza->sig;
printf("El dato eliminado es:%d",aux->a);
free(aux);
}}void mostrar(){
aux=cabeza;printf("Mostrando lista completa....\n");
while(aux!=NULL){
printf("Dato:%d\n",aux->a);
aux=aux->sig;
}if(cabeza==NULL){
printf("Lista vacia....\n");
}}void elidato(int dato){
aux=cabeza;if (cabeza==NULL){printf("Lista vacia\n");}
else{if(aux->a==dato){
aux=cabeza;cabeza=cabeza->sig;
printf("El dato eliminado es:%d",aux->a);
free(aux);
} }}main(){
int opc;
int n;
do{opc=menu();
getchar();
switch(opc){
case 1:printf("Dame un numero\n");
scanf("%d",&n);
insertar(n);
break;
case 3: eliminar();
break;
case 4:printf("Dame un numero a eliminar.....\n");
scanf("%d",&n);
elidato(n);
break;
case 5:mostrar();
break;
} }while(opc!=6);
}
Comentarios sobre la versión: 1.0 (0)
No hay comentarios