Tri d'un tableau

Tri d'un tableau de chaînes de caractères

On peut trier avec sort() (sort, mot anglais, se traduit par trier).

Premier exemple.

Un autre exemple.

On constate que les majuscules précèdent les minuscules, ce qui n'est pas nécessairement ce que l'on veut.

Pour obtenir l'ordre alphabétique :

Avec une syntaxe légèrement plus concise :

Tri d'un tableau de nombres

Trier avec sort() ?

Essayons de trier avec sort() :

On est plutôt déçu ! En fait, on voit que la logique alphanumérique s'applique encore : les nombres commençant par 1 sont en premiers, puis les nombres commençant par 2...

Comment trier ?

De même que l'on pouvait trier en ordre alphabétique sans tenir compte de la casse, on peut trier en ordre croissant des nombres (ou décroissant).

Pour cela, on va donner en paramètre de la fonction sort() une fonction donnant le critère de tri.

Pour comparer a et b, le signe de a-b est déterminé : si a-b < 0 alors a vient avant b, sinon b vient avant a.

Avec la seconde syntaxe :

En ordre décroissant :

Tri d'objets plus complexes

Comme on peut préciser le critère de tri en paramètre de sort(), cela permet de faire des tris moins habituels.

On dispose par exemple d'un tableau de tableaux de longueur 2 (représentant par exemple les deux notes de contrôle d'une liste d'élèves). On peut les trier suivant plusieurs critères :