Nom

sort — tri stable par l'agorithme "quick sort" (Déprécié voir gsort)

Séquence d'appel

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

Paramètres

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

sort sera replacé par gsort dans Scilab 5.3.

la fonction sort est désormais obsolete elle peut être remplacée par la fonction gsort.

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. le tri suivant les lignes ou les colonnes n'est pas implémenté pour les matrices complexes.

Limitation : Si la matrice contient des %nan , la matrice ne sera pas triée. Dans ce cas , utilisez gsort.

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.

Remarque: Cette fonction est obsolete et peut être remplacée par gsort.

Exemples

 
[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')
 

Voir Aussi

find, gsort