qsort
| qsort | 
  Purpose
 
  
  Synopsis
 
 procedure qsort(sense:boolean, lvals:list of integer|real)
 procedure qsort(sense:boolean, lvals:list of string|text)
 procedure qsort(sense:boolean, vals:array of integer|real)
 procedure qsort(sense:boolean, vals:array of string|text)
 procedure qsort(sense:boolean, vals:array of integer|real, ndx:array)
 procedure qsort(sense:boolean, vals:array of string|text, ndx:array)
 procedure qsort(sense:boolean, vals:array of integer|real, ndx:array, sel:set)
 procedure qsort(sense:boolean, vals:array of string|text, ndx:array, sel:set)
 procedure qsort(sense:boolean, vals:array of integer|real, lndx:list, sel:set)
 procedure qsort(sense:boolean, vals:array of string|text, lndx:list, sel:set)
 
  Arguments
 
 | 
     sense 
     | 
     Sense of the sorting:
     
 | ||||
| 
     lvals 
     | 
     List to be sorted
     | ||||
| 
     vals 
     | 
     One-dimensional array to be sorted
     | ||||
| 
     ndx 
     | 
     One-dimensional array of the same type and size as the indexing set of
     vals
     | ||||
| 
     lndx 
     | 
     List of the same type as the indexing set of
     vals
     | ||||
| 
     sel 
     | 
     Subset of the indexing set of
     vals
     | 
  Example
 
 
 The following example sorts an array of real numbers:
 
 declarations
 ar: array(1..10) of real
end-declarations
ar:: [1.2, -3, -8, 10.5, 4, 7, 2.9, -1, 0, 5]
qsort(true, ar)
writeln("Sorted array: ", ar)
  Further information
 
 
 1. In the first four versions of the procedure (with two arguments,
 sense and
 vals or
 lvals) the input array (list)
 vals (
 lvals) is overwritten by the resulting sorted array (list).
 
 
 2. When an array
 ndx is provided, the resulting sorted array is returned in the argument
 ndx in the form of its sorted index set. If a selection set
 sel of indices is provided, only the specified indices are processed.
 
 
 3. When a list
 lndx is provided, the resulting sorted array is returned in the argument
 lndx in the form of a list of sorted indices. If a selection set
 sel of indices is provided, only the specified indices are processed.
 
 
 4. When applied to a dynamic array this procedure processes all indices of the index set including those not referring to an existing cell (a subset of the indexing set
 sel can be used to select only the existing entries).
 
 
  Module
 
  
