sort

Scilab Function
Last update : 25/04/2007

sort - tri par ordre décroissant

### Calling Sequence

  `[s, [k]]=sort(v)`
  `[s, [k]]=sort(v,'r')`
  `[s, [k]]=sort(v,'c')`

### Parameters

- `v,s` : vecteur (plein ou creux) ou matrice de nombres réels ou de chaînes de caractères.
- `k` : vecteur ou matrice de nombres entiers.

### Description

`s=sort(v)` trie `v` par ordre décroissant. Si `v` est une matrice, cette instruction produit un tri de la matrice `v` vue comme un vecteur `v(:)` (les colonnes sont empilées). `[s,k]=sort(v)` donne de plus les indices des termes de `s` dans `v` , c'est à dire que `v(k(:))` est le vecteur `s` .

`s=sort(v,'r')` effectue le tri par ordre décroissant de `v` suivant l'indice de ligne : chaque colonne de `s` est obtenue à partir de la colonne de `v` correspondante triée par ordre décroissant. `[s,k]=sort(v,'r')` renvoie de plus dans chaque colonne de `k` les indices tels que `v(k(:,i),i)=s(:,i)` pour chaque indice de colonne `i` .

`s=sort(v,'c')` effectue le tri par ordre décroissant de `v` suivant l'indice de colonne : chaque ligne de `s` est obtenue à partir de la ligne de `v` correspondante triée par ordre décroissant.

`[s,k]=sort(v,'c')` renvoie de plus dans chaque ligne de `k` les indices tels que `v(i,k(i,:))=s(i,:)` pour chaque indice de ligne `i` .

Les matrices ou vecteurs complexes sont triés par rapport au module complexe.

`y=sort(A)` est valide quand `A` est un vecteur creux. le tri suivant les lignes ou les colonnes n'est pas implémenté pour les matrices creuses.

### Examples

    [s,p]=sort(rand(1,10));
    // p est une permutation aléatoire de 1:10
    A=[1,2,5;3,4,2];
    [A_trie,q]=sort(A);A(q(:))-A_trie(:)
    v=1:10;
    sort(v)
    sort(v')
    sort(v,'r')  // ne fait rien pour les vecteurs lignes
    sort(v,'c')

### See Also

`find` ,