Следующий алгоритм лексикографически генерирует следующую перестановку после данной перестановки. Он изменяет данную перестановку на месте.
Перестановку можно заменить другой перестановкой, просто переключив два или более объектов.