Hola a todos.
Continuando con la agenda en C, ahora estoy buscando la forma de ordenar alfabéticamente los contactos (utilizando únicamente las librerías stdio.h, stdlib.h y string.h). Investigué sobre el tema, y reconozco que aprendí algoritmos básicos de ordenamiento que desconocía: ordenamiento burbuja, de inserción, etc. Al parecer, el que resulta más conveniente para listas enlazadas es el de ordenamiento por mezcla. Sin embargo, vuelvo a chocarme contra la pared: por más que intento, no encuentro la forma de "convertirlo" al caso (todos los ejemplos que encuentro son con elementos de una lista, y no con listas enlazadas; en otros casos, son códigos de otro lenguaje).
¿Alguien podría guiarme?
Muchas gracias por su tiempo. Saludos.
Hola un tema similar lo discutimos aqui
https://foro.elhacker.net/programacion_cc/ordenar_lista_simplemente_enlazada_en_lenguaje_c-t454743.0.html
Y adicionalmente realice un video al respecto usando burbuja
[youtube=640,360]https://www.youtube.com/watch?v=cKu-_W5UBpg[/youtube]
Y para adaptar el if solo cambias por strcmp y te devuelve -1 si es menor y +1 si es mayor
Saludos
Sos un genio, Alberto.
¡Muchísimas gracias!
Aclarando que no es el mejor algoritmo de ordenamiento.
Seria bueno que trataras de implentar otro como quicksort o alguno de los que mencionas.
Saludos
Sí, leí eso en varios sitios. A partir de tu ejemplo del ordenamiento de burbuja voy a intentar con otros algoritmos.
Gracias!
Por cierto: excelente video ;-)
Voy a visitar tu canal más seguido.