Generic Programming

Part III: Algorithms on Sequential Structures

Chapter 9: Index- and Value-Based Permutation Algorithms

Last updated 15 December 1998


§ 9.1 -- Introduction


§ 9.2 -- Swapping Ranges


§ 9.3 -- Reverse Algorithms


§ 9.4 -- Memory-Adaptive Algorithms


§ 9.5 -- In-Place Rotation Algorithms

Gries-Mills algorithm, 3-reverse algorithm, and GCD-cycles algorithm


§ 9.6 -- Stability of Permutations and Pseudo-Permutations


§ 9.7 -- Remove Algorithms

Remove and stable remove


§ 9.8 -- Partition Algorithms


Hoare partition, Lomuto partition, stable partition


§ 9.9 -- Random Shuffle and Random Selection Algorithms

Lo-Ho algorithm


§ 9.10 -- Reduction Algorithms

Reduction, parallel reduction, and binary-counter reduction.


§ 9.11 -- NUMA-iterators


Implementation Queue

The following are points to be integrated somewhere:


Send comments about this page to Jim Dehnert Alex Stepanov, or John Wilkinson.