Trier une liste selon l’ordre croissant : SortA et sorta

### 6.42.24 Trier une liste selon l’ordre croissant : SortA et sorta

Attention SortA et sorta ne sont pas des synonymes : SortA s’utilise avec la syntaxe TI i.e. sans avoir besoin de mettre des parenthèses et modifie la valeur de l’argument alors que sorta s’utilise comme des fonctions normales de Xcas (parenthèses obligatoires et sans changer l’argument !).
Mais L.sorta() modifie la valeur de L en la triant selon l’ordre croissant.
SortA ou sorta a comme argument une liste, une séquence ou une matrice.
SortA ou sorta renvoie la liste ou la séquence triée selon l’ordre croissant.
Si l’argument est une matrice, SortA ou sorta trie la 1-ière ligne de la matrice selon l’ordre croissant, et reporte les manœuvres de tri de la 1-ière ligne sur les autres lignes c’est à dire le tri conserve les colonnes de la matrice.
On tape :

sorta([3,4,2])

ou

SortA([3,4,2])

ou

SortA [3,4,2]

ou

SortA 3,4,2

On obtient :

[2,3,4]

On tape :

sorta([[3,4,2],[6,4,5]])

ou

SortA([[3,4,2],[6,4,5]])

ou

SortA [[3,4,2],[6,4,5]]

ou

SortA [3,4,2],[6,4,5]

On obtient :

[[2,3,4],[5,6,4]]

On tape :

A:=[[3,4,2],[6,4,5]]
SortA(A)

On obtient :

[[2,3,4],[5,6,4]]

et maintenant A vaut [[2,3,4],[5,6,4]]
On tape :

A:=[[3,4,2],[6,4,5]]
A:=sorta(A)

ou

A:=[[3,4,2],[6,4,5]]
A.sorta()

On obtient la nouvelle valeur de A :

[[2,3,4],[5,6,4]]

et maintenant A vaut [[2,3,4],[5,6,4]]
Mais, si on tape :

A:=[[3,4,2],[6,4,5]]
sorta(A)

On obtient :

[[2,3,4],[5,6,4]]

et maintenant A vaut toujours [[3,4,2],[6,4,5]]

Attention La syntaxe sans parenthèse peut vous jouer des tours !
Par exemple, on tape :
L1:=[1,3,2];L2:=[2,3,1];
SortA L1,SortA L2
On obtient la matrice !: [[1,2,3],[3,2,1]]
qui est le résultat de :
SortA(L1,SortA(L2))