QSORTクイックソート関数

本ページには広告が含まれています。

配列の中身をソートします。キー配列と連動させる配列は次元の違う同じ配列名を指定することできます。

構文
  1. void = QSORT( var キー配列, 順列, var 配列, var 配列, ... )
引数
キー配列 (Array)必須
ソートされる配列変数名
順列 (#qsort = QSRT_A)省略可
QSRT_A(0)
昇順 (デフォルト)
QSRT_D(1)
降順
QSRT_UNICODEA(2)
UNICODE文字比較 昇順
QSRT_UNICODED(3)
UNICODE文字比較 降順
QSRT_NATURALA(4)
自然順ソート 昇順
QSRT_NATURALD(5)
自然順ソート 降順
配列 (Array)省略可
配列変数名、キー配列のソートと連動
戻り値

順列

UWSC
結果
プレーンテキスト

昇順(QSRT_A)

値が小さい順に並べます。

プレーンテキスト
  1. 半角数字
  2. 半角英字(大文字)
  3. 半角英字(小文字)
  4. ひらがな
  5. カタカナ
  6. 漢字
  7. 全角数字
  8. 全角英字(大文字)
  9. 全角英字(小文字)
  10. 半角カタカナ

降順(QSRT_D)

値が大きい順に並べます。

プレーンテキスト
  1. 半角カタカナ
  2. 全角英字(小文字)
  3. 全角英字(大文字)
  4. 全角数字
  5. 漢字
  6. カタカナ
  7. ひらがな
  8. 半角英字(小文字)
  9. 半角英字(大文字)
  10. 半角数字

Unicode昇順(QSRT_UNICODEA)

Unicodeの文字コード昇順で並べます。

プレーンテキスト

数値ではなく数字(文字)として先頭から1文字ずつ比較され並び替えが行われるので、1,2,3,4,5,10,11,12の場合、1,10,11,12,2,3,4,5という並びになってしまいます。

数字を小さい順に並べるには、桁数に合わせてゼロ埋め(2桁の場合は01、3桁の場合は001のように)するか、自然順でソートします。

UWSC
結果
プレーンテキスト

Unicode降順(QSRT_UNICODED)

Unicodeの文字コード降順で並べます。

プレーンテキスト

自然順昇順(QSRT_NATURALA)

アルファベット順を基本とし、複数桁の数字を単一文字として昇順で並べます。

プレーンテキスト
  1. 数字(半角→全角)
  2. 英字(半角→全角)
  3. ひらがな・カタカナ
  4. 漢字

自然順でないソートする場合、先頭から1文字ずつ大きさを比較し並び替え、1文字目が同じ場合2文字目の大きさを比較し並び替えるという手順でソートされます。

UWSC

1文字目を比較し、小さい順に並び替える

UWSC

2文字目を比較し、小さい順に並び替える。

UWSC

このような手順のため数字は値の小さい順になりません。

一方自然順でソートする場合、12は1文字目が1だからとかではなく12と数字の塊で比較するので自然な並び方になります。

UWSC
結果
プレーンテキスト

自然順降順(QSRT_NATURALD)

アルファベット順を基本とし、複数桁の数字を単一文字として降順で並べます。

プレーンテキスト

使い方

昇順

UWSC
結果
プレーンテキスト

降順

UWSC
結果
プレーンテキスト

Unicode昇順

UWSC
結果
プレーンテキスト

Unicode降順

UWSC
結果
プレーンテキスト

プログラム実行例

サービスをすべて取得し、そのサービスをユーザーが開始・停止できるかどうかをブール値で返す

UWSC
結果
CSV
使用関数

フォルダ内のファイルを更新日時でソートする

UWSC
結果
プレーンテキスト
使用関数

テキストファイルの内容を行毎にソートして出力する

UWSC
使用関数

テキストファイルの内容を行毎にソートして書き換える

UWSC
使用関数

配列の中身を昇順で並び替える

UWSC
結果
プレーンテキスト
使用関数

配列の中身を降順で並び替える

UWSC
結果
プレーンテキスト
使用関数

多次元配列を一次元配列として昇順で並び替える

UWSC
結果
プレーンテキスト
使用関数

二次元配列を昇順で並び替える

UWSC
結果
CSV
使用関数

シートを昇順に並び替える(Excel)*

UWSC
使用関数

シートを降順に並び替える(Excel)*

UWSC
使用関数

UWSC.INIのDefaultFontを変更する

UWSC
使用関数

都道府県別の人口・面積を人口降順で連動してソート

population配列(人口)を降順(大きい順)に、pref配列(都道府県)とarea配列(面積)の関係性を保ったまま並び替える。

データは【都道府県】人口ランキング・面積ランキング・人口密度ランキングを参照。
UWSC
結果
プレーンテキスト
使用関数

都道府県別の人口・面積を人口降順で連動してソート(多次元配列)

array[0][i]は都道府県名、array[1][i]は人口で単位は人、array[2][i]は面積で単位はkm2。

データは【都道府県】人口ランキング・面積ランキング・人口密度ランキングを参照。
UWSC
結果
プレーンテキスト
使用関数

関連記事

bubbleSort関数 (自作関数)
引数に指定された配列を バブルソート で並び替えます。
shakerSort関数 (自作関数)
引数に指定された配列を シェーカーソート で並び替えます。
gnomeSort関数 (自作関数)
引数に指定された配列を ノームソート で並び替えます。
small関数 (自作関数)
配列の中で小さい方から数えた順位の値を求めます。
insertionSort関数 (自作関数)
引数に指定された配列を 挿入ソート で並び替えます。
shellSort関数 (自作関数)
引数に指定された配列を シェルソート で並び替えます。
heapSort関数 (自作関数)
引数に指定された配列を ヒープソート で並び替えます。
quickSort関数 (自作関数)
引数に指定された配列を クイックソート で並び替えます。
shearSort関数 (自作関数)
引数に指定された配列を シェアソート で並び替えます。
Items.Sort メソッド (Outlook)
指定されたプロパティのコレクションを並べ替えます。