qsort_ サブルーチンは、 1 次元の配列 ARRAY に対して並列クィック・ソートを実行します。この ARRAY の長さ LEN は配列内のエレメント数であり、各エレメントの大きさは ISIZE です。また、このサブルーチンは、ユーザー定義のソート順序関数 COMPAR を実行して、配列のエレメントをソートします。 COMPAR 関数の必要事項については「AIX Technical Reference: Base Operating System and Extensions Volume 2」の『qsort サブルーチン』の項で説明されています。
例
INTEGER(4) FUNCTION COMPAR_UP(C1, C2) INTEGER(4) C1, C2 IF (C1.LT.C2) COMPAR_UP = -1 IF (C1.EQ.C2) COMPAR_UP = 0 IF (C1.GT.C2) COMPAR_UP = 1 RETURN END SUBROUTINE FOO() INTEGER(4) COMPAR_UP EXTERNAL COMPAR_UP INTEGER(4) ARRAY(8), LEN, ISIZE DATA ARRAY/0, 3, 1, 2, 9, 5, 7, 4/ LEN = 6 ISIZE = 4 CALL qsort_(ARRAY(3:8), LEN, ISIZE, COMPAR_UP) ! sorting ARRAY(3:8) PRINT *, ARRAY ! result value is [0, 3, 1, 2, 4, 5, 7, 9] RETURN END