Contents
- 構文
- gnomeSort( Var array )
- 引数
- array
- ソートする数値を格納した配列。参照引数。
- 戻値
プログラム
//////////////////////////////////////////////////
// 【引数】
// array : ソートする数値を格納した配列。参照引数。
// 【戻値】
//
//////////////////////////////////////////////////
PROCEDURE gnomeSort(Var array[])
DIM n = 1
DIM num = UBound(array)
WHILE n < num + 1
IFB array[n-1] <= array[n] THEN
n = n + 1
ELSE
swap(array[n], array[n-1])
n = n - 1
IF n = 0 THEN n = n + 1
ENDIF
WEND
FEND
//////////////////////////////////////////////////
// 【引数】
// a : 変数bと交換する値。参照引数。
// b : 変数aと交換する値。参照引数。
// 【戻値】
//
//////////////////////////////////////////////////
PROCEDURE swap(Var a, Var b)
DIM tmp = a
a = b
b = tmp
FEND
//////////////////////////////////////////////////
// 【引数】
// 配列 : 上限値を求める配列
// 【戻値】
// 配列の上限値
//////////////////////////////////////////////////
FUNCTION UBound(array[])
RESULT = RESIZE(array)
FEND
ノームソートとは
ノームソートはソートアルゴリズムの一つです。挿入ソートに似ているが、要素の移動は挿入ではなくバブルソートのような一連の交換で行います。
この記事は役に立ちましたか?