1
1
<?xml version="1.0" encoding="UTF-8"?>
2
2
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="gsort" xml:lang="fr">
4
<refname>gsort</refname>
5
<refpurpose>tri par l'algorithme "quick sort"</refpurpose>
8
<title>Séquence d'appel</title>
9
<synopsis>[B [,k]]=gsort(A )
10
[B [,k]]=gsort(A,option)
11
[B [,k]]=gsort(A,option,direction)
15
<title>Paramètres</title>
20
<para>vecteur ou matrice de nombres réels, entiers ou de chaînes de
21
caractères ou vecteur creux.
28
<para>une chaîne de caractères, définissant le type de tri à
33
<para>'r' : trie chaque colonne de la matrice
38
<para>'c': trie chaque ligne de la matrice
43
<para>'g': trie tous les éléments de A(:). C'est la valeur par
48
<para>'lr': tri lexicographique des lignes de
53
<para>'lc': tri lexicographique des colonnes de
61
<term>direction</term>
63
<para>Une chaîne de caractères définissant si le tri doit se faire
64
dans l'ordre croissant <literal>('i')</literal> ou décroissant
65
<literal>('d')</literal>. La valeur par défaut est
66
<literal>('d')</literal>.
73
<para>vecteur ou matrice de même type et même dimensions que
81
<para>vecteur ou matrice de nombres entiers de même taille que
82
<literal>A</literal> contenant les index d'origine.
89
<title>Description</title>
91
<literal>gsort</literal> est basé sur l'algorithme de tri rapide
92
"quick sort" modifié pour maintenir l'ordre relatif des éléments ayant des
93
valeurs égales lorsque l'index de tri est demandé.
98
<literal>B=gsort(A,'g')</literal> et
99
<literal>B=gsort(A,'g','d')</literal> produisent le même résultat que
100
<literal>B=gsort(A)</literal>. Ces instructions produisent un tri de
101
la matrice <literal>A</literal>, vue comme le vecteur
102
<literal>A(:)</literal>.
105
<literal>B=gsort(A,'g','i')</literal> fonctionne de la même
106
manière pour l'ordre croissant.
111
<literal>B=gsort(A,'lr')</literal> trie les lignes de la matrice
112
<literal>A</literal> dans l'ordre lexical décroissant.
113
<literal>B</literal> est obtenue par une permutation des lignes de la
114
matrice <literal>A</literal> de telle manière que les lignes de
115
<literal>B</literal> vérifient <literal>B(i,:)>=B(j,:)</literal> si
116
<literal>i<j</literal>.
119
<literal>B=gsort(A,'lr','i')</literal> fonctionne de la même
120
manière pour l'ordre lexical croissant.
125
<literal>B=gsort(A,'lc')</literal> trie les colonnes de la
126
matrice <literal>A</literal> dans l'ordre lexical décroissant.
127
<literal>B</literal> est obtenue par une permutation des colonnes de
128
la matrice <literal>A</literal> de telle manière que les colonnes de
129
<literal>B</literal> vérifient <literal>B(:,i)>=B(:,j)</literal> si
130
<literal>i<j</literal>. <literal/>
133
<literal>B=gsort(A,'lc','i')</literal> fonctionne de la même
134
manière pour l'ordre lexical croissant.
138
<para>Si le second argument de retour k est demandé, il contient les
139
indices des valeurs triées dans le tableau d'origine. Si
140
<literal>[B,k]=gsort(A,'g')</literal> on a <literal>B==A(k)</literal>.
141
<emphasis role="bold">L'algorithme préserve l'ordre relatif des éléments
142
ayant des valeurs égales.
145
<para>Les matrices ou vecteurs complexes sont triés par rapport au module
146
complexe. Seule l'option <literal>'g'</literal> est accessible avec des
150
Pour les nombres complexes, <literal>gsort</literal> peut être
154
SCI/modules/elementary_functions/macros/%_gsort.sci
156
<para>La surcharge pour les types autres que vecteur ou matrice de nombres réels,
157
entiers ou de chaînes de caractères ou vecteur creux est possible.
160
Si <literal>A</literal> contient des <literal>%nan</literal> ou des
161
<literal>%inf</literal> ceux ci seront placés en début avec l'argument
162
<literal>'i'</literal> ou à la fin avec l'argument
163
<literal>'d'</literal>.
167
<title>Exemples</title>
168
<programlisting role="example">
173
[alr1,k]=gsort(alr,'lr','i')
174
[alr1,k]=gsort(alr,'lc','i')
194
<refsection role="see also">
195
<title>Voir aussi</title>
196
<simplelist type="inline">
198
<link linkend="find">find</link>
201
<simplelist type="inline">
203
<link linkend="overloading">overloading</link>
208
<title>Bibliographie</title>
209
<para>Quick sort algorithm from Bentley & McIlroy's "Engineering a
210
Sort Function". Software---Practice and Experience,
215
<title>History</title>
218
<revnumber>5.4.0</revnumber>
219
<revremark>Cette fonction permet la surcharge pour les types non gérés (autres que vecteur ou matrice de nombres réels, entiers ou de chaînes de caractères ou vecteur creux).</revremark>
4
<refname>gsort</refname>
5
<refpurpose>tri par l'algorithme "quick sort"</refpurpose>
8
<title>Séquence d'appel</title>
9
<synopsis>[B [,k]]=gsort(A )
10
[B [,k]]=gsort(A,option)
11
[B [,k]]=gsort(A,option,direction)
15
<title>Paramètres</title>
20
<para>vecteur ou matrice de nombres réels, entiers ou de chaînes de
21
caractères ou vecteur creux.
28
<para>une chaîne de caractères, définissant le type de tri à
33
<para>'r' : trie chaque colonne de la matrice
38
<para>'c': trie chaque ligne de la matrice
43
<para>'g': trie tous les éléments de A(:). C'est la valeur par
48
<para>'lr': tri lexicographique des lignes de
53
<para>'lc': tri lexicographique des colonnes de
61
<term>direction</term>
63
<para>Une chaîne de caractères définissant si le tri doit se faire
64
dans l'ordre croissant <literal>('i')</literal> ou décroissant
65
<literal>('d')</literal>. La valeur par défaut est
66
<literal>('d')</literal>.
73
<para>vecteur ou matrice de même type et même dimensions que
81
<para>vecteur ou matrice de nombres entiers de même taille que
82
<literal>A</literal> contenant les index d'origine.
89
<title>Description</title>
91
<literal>gsort</literal> est basé sur l'algorithme de tri rapide
92
"quick sort" modifié pour maintenir l'ordre relatif des éléments ayant des
93
valeurs égales lorsque l'index de tri est demandé.
98
<literal>B=gsort(A,'g')</literal> et
99
<literal>B=gsort(A,'g','d')</literal> produisent le même résultat que
100
<literal>B=gsort(A)</literal>. Ces instructions produisent un tri de
101
la matrice <literal>A</literal>, vue comme le vecteur
102
<literal>A(:)</literal>.
105
<literal>B=gsort(A,'g','i')</literal> fonctionne de la même
106
manière pour l'ordre croissant.
111
<literal>B=gsort(A,'lr')</literal> trie les lignes de la matrice
112
<literal>A</literal> dans l'ordre lexical décroissant.
113
<literal>B</literal> est obtenue par une permutation des lignes de la
114
matrice <literal>A</literal> de telle manière que les lignes de
115
<literal>B</literal> vérifient <literal>B(i,:)>=B(j,:)</literal> si
116
<literal>i<j</literal>.
119
<literal>B=gsort(A,'lr','i')</literal> fonctionne de la même
120
manière pour l'ordre lexical croissant.
125
<literal>B=gsort(A,'lc')</literal> trie les colonnes de la
126
matrice <literal>A</literal> dans l'ordre lexical décroissant.
127
<literal>B</literal> est obtenue par une permutation des colonnes de
128
la matrice <literal>A</literal> de telle manière que les colonnes de
129
<literal>B</literal> vérifient <literal>B(:,i)>=B(:,j)</literal> si
130
<literal>i<j</literal>. <literal/>
133
<literal>B=gsort(A,'lc','i')</literal> fonctionne de la même
134
manière pour l'ordre lexical croissant.
138
<para>Si le second argument de retour k est demandé, il contient les
139
indices des valeurs triées dans le tableau d'origine. Si
140
<literal>[B,k]=gsort(A,'g')</literal> on a <literal>B==A(k)</literal>.
141
<emphasis role="bold">L'algorithme préserve l'ordre relatif des éléments
142
ayant des valeurs égales.
145
<para>Les matrices ou vecteurs complexes sont triés par rapport au module
146
complexe. Seule l'option <literal>'g'</literal> est accessible avec des
150
Pour les nombres complexes, <literal>gsort</literal> peut être
154
SCI/modules/elementary_functions/macros/%_gsort.sci
156
<para>La surcharge pour les types autres que vecteur ou matrice de nombres réels,
157
entiers ou de chaînes de caractères ou vecteur creux est possible.
160
Si <literal>A</literal> contient des <literal>%nan</literal> ou des
161
<literal>%inf</literal> ceux ci seront placés en début avec l'argument
162
<literal>'d'</literal> ou à la fin avec l'argument
163
<literal>'i'</literal>.
167
<title>Exemples</title>
168
<programlisting role="example">
173
[alr1,k]=gsort(alr,'lr','i')
174
[alr1,k]=gsort(alr,'lc','i')
194
<refsection role="see also">
195
<title>Voir aussi</title>
196
<simplelist type="inline">
198
<link linkend="find">find</link>
201
<simplelist type="inline">
203
<link linkend="overloading">overloading</link>
208
<title>Bibliographie</title>
209
<para>Quick sort algorithm from Bentley & McIlroy's "Engineering a
210
Sort Function". Software---Practice and Experience,
215
<title>History</title>
218
<revnumber>5.4.0</revnumber>
219
<revremark>Cette fonction permet la surcharge pour les types non gérés (autres que vecteur ou matrice de nombres réels, entiers ou de chaînes de caractères ou vecteur creux).</revremark>