実行時サブルーチン:1 次元配列をソートします。配列要素が構造型または記録構造体であってはいけません。
モジュール:USE DFLIB
形式
CALL SORTQQ (adrarray, count, size)
adrarray
(入力) INTEGER(4)。配列のアドレス (LOC で戻されます)。
count
(入力,出力) INTEGER(4)。入力では,ソートする配列の要素数。出力では,実際にソートされた要素数。
size
(入力) INTEGER(4)。ソートする配列の種類を指定する 32,767 より小さい正の定数。\DF98\INCLUDE サブディレクトリの DFLIB.F90 で定義されている以下の定数を数値配列の型と種類として指定します。
定数 | 配列の型 |
---|---|
SRT$INTEGER1 | INTEGER(1) |
SRT$INTEGER2 | INTEGER(2) または等価 |
SRT$INTEGER4 | INTEGER(4) または等価 |
SRT$REAL4 | REAL(4) または等価 |
SRT$REAL8 | REAL(8) または等価 |
size に提供された値がシンボル定数でなく,32,767 より小さい場合,配列は要素毎に size 個の文字を持つ文字型配列であると仮定されます。
SORTQQ が成功したことを確かめるには,count に返される値と,count に提供した値を比較することです。それらが同じであれば,SORTQQ は正しい要素数をソートしたことになります。
不正な引数を渡すと,SORTQQ はメモリーをランダムにソートしようとします。ソートしようとするメモリーが現在のプロセスに割り当てられている場合,そのメモリーがソートされます。ソートしようとするメモリーが現在のプロセスに割り当てられていない場合,オペレーティング・システムが介在して,プログラムを中断し,一般保護違反のメッセージを受け取ります。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報
例
! 1 次元配列をソートします ! USE DFLIB INTEGER(2) array(10) INTEGER(2) i DATA ARRAY /143, 99, 612, 61, 712, 9112, 6, 555, 2223, 67/ ! 配列をソートします Call SORTQQ (LOC(array), 10, SRT$INTEGER2) ! ソートした配列を表示します DO i = 1, 10 WRITE (*, 9000) i, array (i) END DO 9000 FORMAT(1X, ' Array(',I2, '): ', I5) END