class ARRAY_SORT{ELT}
Public
Features
check_range(ar:ARRAY{ELT}, l,u:CARD):BOOL
count(ar:ARRAY{ELT},lt:ROUT{ELT,ELT}:BOOL):CARD
****
count different (partial) ordered element in the sense of "lt".
insertion_sort(inout ar:ARRAY{ELT})
****
stable sort.
insertion_sort(inout ar:ARRAY{ELT},lt:ROUT{ELT,ELT}:BOOL)
****
stable sort.
insertion_sort_range(inout ar:ARRAY{ELT},l,u:CARD)
insertion_sort_range(inout ar:ARRAY{ELT},l,u:CARD, lt:ROUT{ELT,ELT}:BOOL)
****
sort by increasing order "<" with respect to `lt'.
is_sorted(ar:ARRAY{ELT}, l,u:CARD, lt:ROUT{ELT,ELT}:BOOL):BOOL
****
__
true
_
if
_
and
_
only
_
if
_
"ar"
_
is
_
sorted
_
as
_
determined
_
by
_
"lt".
is_sorted(ar:ARRAY{ELT}, lt:ROUT{ELT,ELT}:BOOL):BOOL
lt_rev(a,b:ELT,lt:ROUT{ELT,ELT}:BOOL):BOOL
****
">" with respect to lt(<).
merge(ar1,ar2:ARRAY{ELT}, lt:ROUT{ELT,ELT}:BOOL):ARRAY{ELT}
****
merge sort: Assume that ar1, ar2 are sorted.
quick_sort(inout ar:ARRAY{ELT})
****
Use quicksort to permute the elements of self so that
it is sorted by increasing order "<" with respect to `elt_lt'. Self may be void.
quick_sort(inout ar:ARRAY{ELT}, lt:ROUT{ELT,ELT}:BOOL)
****
Use quicksort to permute the elements of self so that
it is sorted by increasing order "<" with respect to `lt'. Self may be void.
quicksort_range(inout ar:ARRAY{ELT},l,u:CARD)
quicksort_range(inout ar:ARRAY{ELT}, l, u:CARD, lt:ROUT{ELT,ELT}:BOOL)
search(ar:ARRAY{ELT}, e:ELT, lt:ROUT{ELT,ELT}:BOOL):CARD
****
assume "ar" is sorted by increasing order "<"(with lt).
binary search
sorted_insert(ar:ARRAY{ELT}, e:ELT):ARRAY{ELT}
****
assume ar is sorted by increasing order "<".
sorted_insert(ar:ARRAY{ELT}, e:ELT, lt:ROUT{ELT,ELT}:BOOL):ARRAY{ELT}
****
assume ar is sorted by increasing order "<"(with lt).
sorted_rev_insert(ar:ARRAY{ELT}, e:ELT):ARRAY{ELT}
****
assume ar is sorted by decreasing order ">".
sorted_rev_insert(ar:ARRAY{ELT}, e:ELT, lt:ROUT{ELT,ELT}:BOOL):ARRAY{ELT}
swap(inout ar:ARRAY{ELT}, i1,i2:CARD)
Private
const quicksort_limit:CARD:=20;
****
When to stop the quicksort recursion and switch to insertion sort.
The Sather Home Page