37#include "implicit_f.inc"
42 INTEGER,
INTENT(IN) :: first, last
43 INTEGER,
INTENT(INOUT) :: idx(*)
56 x = a( (first + last) / 2 )
76 IF (first < i - 1)
CALL quicksort(a, idx, first, i - 1)
77 IF (j + 1 < last)
CALL quicksort(a, idx, j + 1, last)
95#include "implicit_f.inc"
99 INTEGER,
INTENT(INOUT) :: a(*)
100 INTEGER,
INTENT(IN) :: first, last
113 x = a( (first + last) / 2 )
130 IF (first < i - 1)
CALL quicksort_i(a, first, i - 1)
156#include "implicit_f.inc"
160 INTEGER,
INTENT(INOUT) :: a(*)
161 INTEGER,
INTENT(IN) :: first, last
162 INTEGER,
INTENT(INOUT) :: idx(*)
175 x = a( (first + last) / 2 )
195 IF (first < i - 1)
CALL quicksort_i2(a, idx, first, i - 1)
196 IF (j + 1 < last)
CALL quicksort_i2(a, idx, j + 1, last)
210#include "implicit_f.inc"
214 INTEGER,
INTENT(INOUT) :: a(*),b(*)
215 INTEGER,
INTENT(IN) :: first, last
228 x = a( (first + last) / 2 )
265#include "implicit_f.inc"
269 INTEGER,
INTENT(INOUT) :: a(*),b(*),c(*)
270 INTEGER,
INTENT(IN) :: first, last
283 x = a( (first + last) / 2 )
recursive subroutine quicksort_integer_2arrays(a, b, first, last)
recursive subroutine quicksort_integer_3arrays(a, b, c, first, last)
recursive subroutine quicksort_i(a, first, last)
recursive subroutine quicksort_i2(a, idx, first, last)
recursive subroutine quicksort(a, idx, first, last)