Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Documentation
In comparison to the
Sort
function:Options
parameter can be omitted. This allows forMyArray.Sort(Function)
syntax, common in many programming languages.Implementation
At present,
struct Variant
has been made public.At present, a random array sort is done via
GenRandom
.I have zero qualms about any modifications, minor or major, to this code.
Algorithm:
Array
object, of size n items, consists of n contiguousVariant
structs in memory, one struct for each array item.qsort
to that array of addresses.Variant
objects, and the array item info obtained, giving 2 values to be compared, the information is passed to an internal or user comparator function.Variant
structure for each array item, and then the whole block is copied over the original memory block, the temporary memory block is then discarded.Test code