十進BASICには,SORT1.LIBとSORT2.LIBの2つの整列ライブラリが附属しています。
SORT1.LIBで定義された外部副プログラムsort(a())は,実引数として渡された1次元数値配列aを昇順に並べ替えます。
SORT1.LIBを使いたい場合は,ファイルメニューの「末尾に追加読込」でLIBRARYフォルダのSORT1.LIBを指定するか,プログラムの末尾に次のプログラム例の80行のようなMERGE文を付加します。
例
10 DECLARE EXTERNAL SUB sort 20 DIM a(10) 30 DATA 3,8,4,6,9,2,5,5,7,5 40 MAT READ a 50 CALL sort(a) 60 MAT PRINT a; 70 END 80 MERGE "sort1.lib"
<補足> 十進BASICの現在の実装では,10行のDECLARE文は省略可能です。
SORT2.LIBで定義された外部副プログラムsort(m(),ix())は,mに指定された1次元数値配列の添字を1次元数値配列ixに配列の値が昇順となるように代入します。つまり,ixの最初の要素は,配列mにある数値のうち最も小さいものの添字です。配列mは参照されるのみで,変化しません。
例
100 DECLARE EXTERNAL SUB sort 110 DIM a(10),ix(10) 120 DATA 3,8,4,6,9,2,5,5,7,5 130 MAT READ a 140 CALL sort(a,ix) 150 FOR i=1 TO 10 160 PRINT a(ix(i)); 170 NEXT i 180 END 190 MERGE "sort2.lib"
<Note>
OPTION ARITHMETIC NATIVEを指定したいときは,SORT1.LIBあるいはSORT2.LIBを末尾に読み込み,EXTERNAL SUB行の次にもOPTION ARITHMETIC NATIVEを追加してください。
幾つかのプログラムで共用したい場合は,EXTERNAL SUB行の次にOPTION ARITHMETC NATIVEを追加したライブラリを作成し,別名でUserLibフォルダなどに保存してください。