The generic subroutine interface implementing the SORT
algorithm, based
on the introsort
of David Musser.
(Specification)
bitset_64_sort( array[, reverse] )
sorts the input ARRAY
of type type(bitset_64)
using a hybrid sort based on the introsort
of David Musser.
The algorithm is of order O(N Ln(N)) for all inputs.
Because it relies on quicksort
, the coefficient of the O(N Ln(N))
behavior is small for random data compared to other sorting algorithms.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(bitset_64), | intent(inout) | :: | array(0:) | |||
logical, | intent(in), | optional | :: | reverse |
bitset_large_sort( array[, reverse] )
sorts the input ARRAY
of type type(bitset_large)
using a hybrid sort based on the introsort
of David Musser.
The algorithm is of order O(N Ln(N)) for all inputs.
Because it relies on quicksort
, the coefficient of the O(N Ln(N))
behavior is small for random data compared to other sorting algorithms.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(bitset_large), | intent(inout) | :: | array(0:) | |||
logical, | intent(in), | optional | :: | reverse |
char_sort( array[, reverse] )
sorts the input ARRAY
of type character(len=*)
using a hybrid sort based on the introsort
of David Musser.
The algorithm is of order O(N Ln(N)) for all inputs.
Because it relies on quicksort
, the coefficient of the O(N Ln(N))
behavior is small for random data compared to other sorting algorithms.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(inout) | :: | array(0:) | |||
logical, | intent(in), | optional | :: | reverse |
dp_sort( array[, reverse] )
sorts the input ARRAY
of type real(dp)
using a hybrid sort based on the introsort
of David Musser.
The algorithm is of order O(N Ln(N)) for all inputs.
Because it relies on quicksort
, the coefficient of the O(N Ln(N))
behavior is small for random data compared to other sorting algorithms.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(inout) | :: | array(0:) | |||
logical, | intent(in), | optional | :: | reverse |
int16_sort( array[, reverse] )
sorts the input ARRAY
of type integer(int16)
using a hybrid sort based on the introsort
of David Musser.
The algorithm is of order O(N Ln(N)) for all inputs.
Because it relies on quicksort
, the coefficient of the O(N Ln(N))
behavior is small for random data compared to other sorting algorithms.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int16), | intent(inout) | :: | array(0:) | |||
logical, | intent(in), | optional | :: | reverse |
int32_sort( array[, reverse] )
sorts the input ARRAY
of type integer(int32)
using a hybrid sort based on the introsort
of David Musser.
The algorithm is of order O(N Ln(N)) for all inputs.
Because it relies on quicksort
, the coefficient of the O(N Ln(N))
behavior is small for random data compared to other sorting algorithms.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int32), | intent(inout) | :: | array(0:) | |||
logical, | intent(in), | optional | :: | reverse |
int64_sort( array[, reverse] )
sorts the input ARRAY
of type integer(int64)
using a hybrid sort based on the introsort
of David Musser.
The algorithm is of order O(N Ln(N)) for all inputs.
Because it relies on quicksort
, the coefficient of the O(N Ln(N))
behavior is small for random data compared to other sorting algorithms.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int64), | intent(inout) | :: | array(0:) | |||
logical, | intent(in), | optional | :: | reverse |
int8_sort( array[, reverse] )
sorts the input ARRAY
of type integer(int8)
using a hybrid sort based on the introsort
of David Musser.
The algorithm is of order O(N Ln(N)) for all inputs.
Because it relies on quicksort
, the coefficient of the O(N Ln(N))
behavior is small for random data compared to other sorting algorithms.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int8), | intent(inout) | :: | array(0:) | |||
logical, | intent(in), | optional | :: | reverse |
sp_sort( array[, reverse] )
sorts the input ARRAY
of type real(sp)
using a hybrid sort based on the introsort
of David Musser.
The algorithm is of order O(N Ln(N)) for all inputs.
Because it relies on quicksort
, the coefficient of the O(N Ln(N))
behavior is small for random data compared to other sorting algorithms.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=sp), | intent(inout) | :: | array(0:) | |||
logical, | intent(in), | optional | :: | reverse |
string_type_sort( array[, reverse] )
sorts the input ARRAY
of type type(string_type)
using a hybrid sort based on the introsort
of David Musser.
The algorithm is of order O(N Ln(N)) for all inputs.
Because it relies on quicksort
, the coefficient of the O(N Ln(N))
behavior is small for random data compared to other sorting algorithms.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(string_type), | intent(inout) | :: | array(0:) | |||
logical, | intent(in), | optional | :: | reverse |