目的
qsort_ サブルーチンは、 1 次元の配列 ARRAY に対して並列クイック・ソートを実行します。 この ARRAY の長さ LEN は配列内のエレメント数であり、 各エレメントの大きさは ISIZE です。また、このサブルーチンは、 ユーザー定義のソート順序関数 COMPAR を実行して、配列のエレメントをソートします。
クラス
サブルーチン
引き数の型と属性
例
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