基于 David Musser 的 introsort,实现 SORT 算法的通用子程序接口。(规范)
bitset_64_sort( array[, reverse] ) 使用基于 David Musser 的 introsort 的混合排序算法对类型为 type(bitset_64) 的输入 ARRAY 进行排序。该算法对所有输入均为 O(N Ln(N)) 阶。由于它依赖于 quicksort,因此与其他排序算法相比,对于随机数据的 O(N Ln(N)) 行为的系数很小。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| type(bitset_64), | intent(inout) | :: | array(0:) | |||
| logical, | intent(in), | optional | :: | reverse |
bitset_large_sort( array[, reverse] ) 使用基于 David Musser 的 introsort 的混合排序算法对类型为 type(bitset_large) 的输入 ARRAY 进行排序。该算法对所有输入均为 O(N Ln(N)) 阶。由于它依赖于 quicksort,因此与其他排序算法相比,对于随机数据的 O(N Ln(N)) 行为的系数很小。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| type(bitset_large), | intent(inout) | :: | array(0:) | |||
| logical, | intent(in), | optional | :: | reverse |
char_sort( array[, reverse] ) 使用基于 David Musser 的 introsort 的混合排序算法对类型为 character(len=*) 的输入 ARRAY 进行排序。该算法对所有输入均为 O(N Ln(N)) 阶。由于它依赖于 quicksort,因此与其他排序算法相比,对于随机数据的 O(N Ln(N)) 行为的系数很小。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(inout) | :: | array(0:) | |||
| logical, | intent(in), | optional | :: | reverse |
dp_sort( array[, reverse] ) 使用基于 David Musser 的 introsort 的混合排序算法对类型为 real(dp) 的输入 ARRAY 进行排序。该算法对所有输入均为 O(N Ln(N)) 阶。由于它依赖于 quicksort,因此与其他排序算法相比,对于随机数据的 O(N Ln(N)) 行为的系数很小。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(inout) | :: | array(0:) | |||
| logical, | intent(in), | optional | :: | reverse |
int16_sort( array[, reverse] ) 使用基于 David Musser 的 introsort 的混合排序算法对类型为 integer(int16) 的输入 ARRAY 进行排序。该算法对所有输入均为 O(N Ln(N)) 阶。由于它依赖于 quicksort,因此与其他排序算法相比,对于随机数据的 O(N Ln(N)) 行为的系数很小。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| integer(kind=int16), | intent(inout) | :: | array(0:) | |||
| logical, | intent(in), | optional | :: | reverse |
int32_sort( array[, reverse] ) 使用基于 David Musser 的 introsort 的混合排序算法对类型为 integer(int32) 的输入 ARRAY 进行排序。该算法对所有输入均为 O(N Ln(N)) 阶。由于它依赖于 quicksort,因此与其他排序算法相比,对于随机数据的 O(N Ln(N)) 行为的系数很小。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(inout) | :: | array(0:) | |||
| logical, | intent(in), | optional | :: | reverse |
int64_sort( array[, reverse] ) 使用基于 David Musser 的 introsort 的混合排序算法对类型为 integer(int64) 的输入 ARRAY 进行排序。该算法对所有输入均为 O(N Ln(N)) 阶。由于它依赖于 quicksort,因此与其他排序算法相比,对于随机数据的 O(N Ln(N)) 行为的系数很小。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| integer(kind=int64), | intent(inout) | :: | array(0:) | |||
| logical, | intent(in), | optional | :: | reverse |
int8_sort( array[, reverse] ) 使用基于 David Musser 的 introsort 的混合排序算法对类型为 integer(int8) 的输入 ARRAY 进行排序。该算法对所有输入均为 O(N Ln(N)) 阶。由于它依赖于 quicksort,因此与其他排序算法相比,对于随机数据的 O(N Ln(N)) 行为的系数很小。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| integer(kind=int8), | intent(inout) | :: | array(0:) | |||
| logical, | intent(in), | optional | :: | reverse |
sp_sort( array[, reverse] ) 使用基于 David Musser 的 introsort 的混合排序算法对类型为 real(sp) 的输入 ARRAY 进行排序。该算法对所有输入均为 O(N Ln(N)) 阶。由于它依赖于 quicksort,因此与其他排序算法相比,对于随机数据的 O(N Ln(N)) 行为的系数很小。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| real(kind=sp), | intent(inout) | :: | array(0:) | |||
| logical, | intent(in), | optional | :: | reverse |
string_type_sort( array[, reverse] ) 使用基于 David Musser 的 introsort 的混合排序算法对类型为 type(string_type) 的输入 ARRAY 进行排序。该算法对所有输入均为 O(N Ln(N)) 阶。由于它依赖于 quicksort,因此与其他排序算法相比,对于随机数据的 O(N Ln(N)) 行为的系数很小。
| 类型 | 意图 | 可选 | 属性 | 名称 | ||
|---|---|---|---|---|---|---|
| type(string_type), | intent(inout) | :: | array(0:) | |||
| logical, | intent(in), | optional | :: | reverse |