MasterShadows
Messages postés268Date d'inscriptionlundi 1 mars 2004StatutMembreDernière intervention19 avril 2012
-
15 déc. 2007 à 11:26
heavenkhn
Messages postés7Date d'inscriptiondimanche 11 avril 2010StatutMembreDernière intervention 2 janvier 2011
-
6 janv. 2010 à 16:37
Bonjour à tous,
Dans un TP de C que je dois, il y'a une question qui me perturbe :
Nous devions créer une structure LIST qui est simplement chainée, qui est destinée à être une cinémathèque.
Dans cette liste, nous insérions des types ELEMENT qui est une structure contenant :
- L'année de sortie du film
- Le titre du film
- Le réalisateur
- Le nb d'acteurs cités.
- Le nom de chaque acteur cité
- La durée du film.
Maintenant, la question qui me perturbe, c'est comment trier cette liste simplement chainée sur la durée du film ?
J'ai bien essayé de la gérer comme si j'avais un tableau, mais ça ne fonctionne pas.
julienbj
Messages postés452Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 décembre 200815 15 déc. 2007 à 15:59
Pour trier ta liste chainée, à toi de gérer les pointeus convenablement. Impossible de traiter une liste chainée comme un tableau!
Quand la liste est simplement chainée, il faut supprimer l'élément de la liste pour le réinséré à la bonne place si besoin.
Je pourrais te filer un bout de code Lundi si tu veux.
En attendant, tu peux aller voir ici, c'est l'algo le plus répandu (à mon avis) pour le tri des listes simplement chainées.
En gros, il faut que tu fasses une fonction de suppression d'élément dans ta liste et une fonction d'ajour d'élément.
Pour plus d'infos, n'hésite pas à utiliser google. (sort linked list te donnes plein de résultats pertinents).
Savon
MasterShadows
Messages postés268Date d'inscriptionlundi 1 mars 2004StatutMembreDernière intervention19 avril 201212 15 déc. 2007 à 16:14
merci du coup de pouce, julienbj,
mais la prof nous a envoyé un mémo comme quoi que l'on devait ajouter une fonction viderList pour vider la liste justement,
alors ce que j'ai fait, c'est que je sauvegarde chacun de mes éléments dans un tableau, puis je vide ma liste, je trie mon tableau et j'insère chaque case de mon tableau dans la liste, comme ça tout est bien propre (pas forcément rapide)