13
13
<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="ja">
15
<refname>gsort</refname>
16
<refpurpose>クイックソートアルゴリズムによるソート</refpurpose>
20
<synopsis>[B [,k]]=gsort(A)
21
[B [,k]]=gsort(A,option)
22
[B [,k]]=gsort(A,option,direction)
31
<para>実数,整数または文字列のベクトル/行列または疎ベクトル.</para>
37
<para>文字列. ソートの種類(下記)を指定します:</para>
41
'r' : <literal>A</literal> の各列がソートされます
46
'c': <literal>A</literal> の各行がソートされます
51
'g': <literal>A</literal> の全要素がソートされます.
57
'lr': <literal>A</literal>の列の辞書式ソート
62
'lc': <literal>A</literal>のの行の辞書式ソート
69
<term>direction</term>
71
<para>文字列. ソートの方向を指定します:
72
<literal>'i'</literal> は昇順,
73
<literal>'d'</literal> は降順 (デフォルト)を意味します.
81
<literal>A</literal>と同じ型と次元の配列.
89
整数値を有し,<literal>A</literal>と同じ次元の実数配列.
99
<literal>gsort</literal> は種々のデータ型に関する
105
<literal>B=gsort(A,'g')</literal>,
106
<literal>B=gsort(A,'g','d')</literal> および
107
<literal>B=gsort(A)</literal> は
108
配列 <literal>A</literal>の要素を<literal>A(:)</literal>として
112
<literal>B=gsort(A,'g','i')</literal> は
113
<literal>A</literal>の要素を昇順にソートします.
118
<literal>B=gsort(A,'lr')</literal> は<literal>A</literal>
120
<literal>B</literal>は,
121
<literal>B</literal>の各行が<literal>B(i,:)>=B(j,:)</literal>
122
(ただし,<literal>i<j</literal>)となるように,
123
行列<literal>A</literal>の行を並び替えることにより
127
<literal>B=gsort(A,'lr','i')</literal> は
128
昇順の辞書的ソートについても同様に動作します.
133
<literal>B=gsort(A,'lc')</literal>
135
<literal>B</literal>は,
136
<literal>B</literal>の各列が<literal>B(:,i)>=B(:,j)</literal>
137
(ただし,<literal>i<j</literal>となるように,
138
行列<literal>A</literal>の列を並び替えることにより
142
<literal>B=gsort(A,'lc','i')</literal> は
143
昇順の辞書的ソートについても同様に動作します.
147
<para>二番目の戻り値引数が指定された場合,
148
<literal>k</literal>に<literal>A</literal>のソートされた値の添え字が
150
<literal>[B,k]=gsort(A,'g')</literal>の場合,
151
<literal>B==A(k)</literal>となります.
152
<emphasis role="bold">このアルゴリズムは,等しい値を有する
157
<literal>v</literal> が複素数の場合, その要素は
158
大きさ,すなわち, abs(<literal>v</literal>) によりソートされます,
159
2番目の引数としては<literal>'g'</literal>のみが複素数で使用可能です.
162
<literal>v</literal> が <literal>%nan</literal> または
163
<literal>%inf</literal> を要素として有する場合, gsort は
164
これらを <literal>'i'</literal> の場合は先頭,
165
<literal>'d'</literal>の場合は末尾に置きます.
170
<programlisting role="example">
175
[alr1,k]=gsort(alr,'lr','i')
176
[alr1,k]=gsort(alr,'lc','i')
196
<refsection role="see also">
198
<simplelist type="inline">
200
<link linkend="find">find</link>
206
<para>Quick sort algorithm from Bentley & McIlroy's "Engineering a
207
Sort Function". Software---Practice and Experience,
15
<refname>gsort</refname>
16
<refpurpose>クイックソートアルゴリズムによるソート</refpurpose>
20
<synopsis>[B [,k]]=gsort(A)
21
[B [,k]]=gsort(A,option)
22
[B [,k]]=gsort(A,option,direction)
31
<para>実数,整数または文字列のベクトル/行列または疎ベクトル.</para>
37
<para>文字列. ソートの種類(下記)を指定します:</para>
41
'r' : <literal>A</literal> の各列がソートされます
46
'c': <literal>A</literal> の各行がソートされます
51
'g': <literal>A</literal> の全要素がソートされます.
57
'lr': <literal>A</literal>の列の辞書式ソート
62
'lc': <literal>A</literal>のの行の辞書式ソート
69
<term>direction</term>
71
<para>文字列. ソートの方向を指定します:
72
<literal>'i'</literal> は昇順,
73
<literal>'d'</literal> は降順 (デフォルト)を意味します.
81
<literal>A</literal>と同じ型と次元の配列.
89
整数値を有し,<literal>A</literal>と同じ次元の実数配列.
99
<literal>gsort</literal> は種々のデータ型に関する
105
<literal>B=gsort(A,'g')</literal>,
106
<literal>B=gsort(A,'g','d')</literal> および
107
<literal>B=gsort(A)</literal> は
108
配列 <literal>A</literal>の要素を<literal>A(:)</literal>として
112
<literal>B=gsort(A,'g','i')</literal> は
113
<literal>A</literal>の要素を昇順にソートします.
118
<literal>B=gsort(A,'lr')</literal> は<literal>A</literal>
120
<literal>B</literal>は,
121
<literal>B</literal>の各行が<literal>B(i,:)>=B(j,:)</literal>
122
(ただし,<literal>i<j</literal>)となるように,
123
行列<literal>A</literal>の行を並び替えることにより
127
<literal>B=gsort(A,'lr','i')</literal> は
128
昇順の辞書的ソートについても同様に動作します.
133
<literal>B=gsort(A,'lc')</literal>
135
<literal>B</literal>は,
136
<literal>B</literal>の各列が<literal>B(:,i)>=B(:,j)</literal>
137
(ただし,<literal>i<j</literal>となるように,
138
行列<literal>A</literal>の列を並び替えることにより
142
<literal>B=gsort(A,'lc','i')</literal> は
143
昇順の辞書的ソートについても同様に動作します.
147
<para>二番目の戻り値引数が指定された場合,
148
<literal>k</literal>に<literal>A</literal>のソートされた値の添え字が
150
<literal>[B,k]=gsort(A,'g')</literal>の場合,
151
<literal>B==A(k)</literal>となります.
152
<emphasis role="bold">このアルゴリズムは,等しい値を有する
157
<literal>v</literal> が複素数の場合, その要素は
158
大きさ,すなわち, abs(<literal>v</literal>) によりソートされます,
159
2番目の引数としては<literal>'g'</literal>のみが複素数で使用可能です.
162
<literal>v</literal> が <literal>%nan</literal> または
163
<literal>%inf</literal> を要素として有する場合, gsort は
164
これらを <literal>'d'</literal> の場合は先頭,
165
<literal>'i'</literal>の場合は末尾に置きます.
170
<programlisting role="example">
175
[alr1,k]=gsort(alr,'lr','i')
176
[alr1,k]=gsort(alr,'lc','i')
196
<refsection role="see also">
198
<simplelist type="inline">
200
<link linkend="find">find</link>
206
<para>Quick sort algorithm from Bentley & McIlroy's "Engineering a
207
Sort Function". Software---Practice and Experience,