• Jueves 23 de Mayo de 2024, 21:53

Autor Tema:  lista ordenada  (Leído 1459 veces)

herley

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
lista ordenada
« en: Martes 29 de Marzo de 2011, 22:58 »
0
saludos    me piden hacer un proyecto de una lista ordenada con una estructura que contenga nobre, ced y notas de un estudiante y poderlas ordenar por los tres criterios(nombre , cedula, notas); me pueden colaborar Muchas gracias

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: lista ordenada
« Respuesta #1 en: Martes 29 de Marzo de 2011, 23:00 »
0
Bienvenido a los foros  ^_^

Aquí no se hace la tarea. Expón lo que tengas hecho y dudas concretas que tengas.

Un saludo

Leber

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
Re: lista ordenada
« Respuesta #2 en: Martes 29 de Marzo de 2011, 23:28 »
0
Si no sabes cuantas listas tendrás, puedes hacer con edd (estructuras de datos dinámicas)
Algo asi:

Código: C
  1. struct ficha {
  2.     char nombre[20];
  3.     char apellido[20];
  4.     unsigned int nota;
  5.     struct ficha *next;
  6. };
  7.  

Si lo sabes, puedes hacer un array de estructuras.
Después de entrar todas las fichas que necesites, puedes ordenarlo:

Algo como esto:

Código: C
  1. if (ficha[0].nota > ficha[1].nota) {
  2.       ficha_auxiliar = ficha[1];
  3.       ficha[1] = ficha[0];
  4.       ficha[0] = ficha_auxiliar;
  5.   }
  6.  

Ficha auxiliar sería un tipo de ficha temporal, usarlo solo como auxiliar. Ese método seria por bubblesort, que aunque no es el más eficiente, sirve para esto.

Saludos