next up previous contents index
Next: Tri par insertion Up: Tri par bulles Previous: Implémentation pour des vecteurs   Contents   Index

Implémentation pour des listes

L'implémentation donnée ci-dessus est facile à adpater à une liste au lieu d'un vecteur, car l'itération principale se fait du premier au dernier élément.

bullesliste.lisp

On remarque les deux clauses de la boucle interne, l'une pour déterminer le nombre d'itérations et l'autre pour parcourir la liste.

* (defparameter *l* '(4 1 3 1  8 3 44 5 7 3 9 0 0 3 2 44 5 33))

*L*
* (bubblesort2 *l*)

NIL
* *l*

(0 0 1 1 2 3 3 3 3 4 5 5 7 8 9 33 44 44)
* (bubblesort2 *l* :test #'(lambda (x y) (and (oddp x) (evenp y))))

NIL
* *l*

(1 1 3 3 3 3 5 5 7 9 33 0 0 2 4 8 44 44)
* (bubblesort2 *l* :test #'>)

NIL
* *l*

(44 44 33 9 8 7 5 5 4 3 3 3 3 2 1 1 0 0)
* (bubblesort2 *l* :test #'(lambda (x y) (and (oddp x) (evenp y))))

NIL
* *l*

(33 9 7 5 5 3 3 3 3 1 1 44 44 8 4 2 0 0)
*


next up previous contents index
Next: Tri par insertion Up: Tri par bulles Previous: Implémentation pour des vecteurs   Contents   Index
Robert STRANDH
2001-09-28