Bonjour,
je debute avec Haskell en suivant ça http://lyah.haskell.fr/
et il y a quelques petits truc que je ne comprends pas
si j'ai bien compris, pour moi il y a une erreur ici :
http://lyah.haskell.fr/recursivite#vite-triez
en utilisant les listes en compréhension, pour le premier prédicat j'aurai plutôt mis "a < x" au lieu de "a <= x", sinon il y a répetition du pivot non?
puisque on va concatener le pivot avec la liste trier à gauche qui contiendra le pivot aussi puisqu'elle respecte le prédicat a <= x
et ici aussi (un peu en bas dans l'exemple avec quicksort) : http://lyah.haskell.fr/fonctions-d-ordre-superieur#maps-et-filtres
cette version avec filter pareil
j'aurai plutôt mis
quicksort (filter (<x) xs)
au lieu de
quicksort (filter (<=x) xs)
sinon comme dit plus haut, il y aurait répetition du pivot
mais par contre, j'ai bien conscience que si je ne met pas <= x ça ne sélectionnera pas les doublons dans la liste (ceux égale au pivot) ce qui fera une liste sans doublons si on la trie, ce qui pose probleme aussi
donc dans les deux cas je ne vois pas quelle serait la bonne solution qui fonctionnerait sans doubler le pivot et sans virer tout les doublons
Merci d'avance pour vos futures réponses
---
P.-S: avez-vous de bonne référence à me conseiller sur ce langage ?