Tri de liste chainée

RezzA -  
tafiscobar Messages postés 1281 Statut Contributeur -
Je recherche un algo de trie pour un liste chainée : mettre le plus grand en tête.
merci
A voir également:

2 réponses

Peguinette Messages postés 176 Statut Membre 30
 
Généralement on ne tri jamais une liste chainee lorsqu'elle est construite. Ce que l'on fait c'est que lorsqu'on ajoute un element à cette liste, on le compare à ceux qui existe dejà et on le place au bon endroit.

Au cas où tu veuilles vraiment trier, tu peux extraire chaque element et le mettre dans une nouvelle liste chainée en le placant à la bonne place.

Ou alors tu prends le premier element de ta liste chainée et tu le compare au deuxième et si ca ne va pas tu les intervertis, tu passe au suivant et tu fait pareil ... Tu fait cette manipe jusqu'à la fin de la chaine et tu comptabilise le nombre de permutations que tu as fait. Ensuite tu recommences jusqu'a ce que tu n'ai fait aucune permutation.
ex:
1 2 3 1 3 2
2 3 1 3 2 1
3 2 3 2 1 1
3 3 2 2 1 1

Tu peux aussi commencer par la fin mais c'est parfois moins rapide.
ex:
1 2 3 1 3 2
3 1 2 3 1 2
3 3 1 2 2 1
3 3 2 1 2 1
3 3 2 2 1 1

---------
Peguinette
0
tafiscobar Messages postés 1281 Statut Contributeur 177
 
il t'as repondu mais en tout cas, je te consille la premiere solution plus rapide et qui demande moins de lignes de code.
tafiscobar
0