Получение следующего объекта — различия между версиями
Free0u (обсуждение | вклад) |
Free0u (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
| + | == Алгоритм == | ||
{{Определение|definition= '''Получение следующего объекта''' - это нахождение объекта, следующего за данным в лексикографическом порядке. | {{Определение|definition= '''Получение следующего объекта''' - это нахождение объекта, следующего за данным в лексикографическом порядке. | ||
}} | }} | ||
| − | + | ||
| − | == Специализация алгоритма для | + | == Специализация алгоритма для генерации следующей перестановки == |
| + | Двигаемся справа налево по элементам объекта, пока не найдем элемент, нарушающий убывающую последовательность. Обменяем его с минимальным элементом, большим нашего, стоящим правее. Далее перевернем правую часть. | ||
| + | |||
== Пример работы == | == Пример работы == | ||
| + | == Ссылки == | ||
Версия 09:19, 28 октября 2011
Содержание
Алгоритм
| Определение: |
| Получение следующего объекта - это нахождение объекта, следующего за данным в лексикографическом порядке. |
Специализация алгоритма для генерации следующей перестановки
Двигаемся справа налево по элементам объекта, пока не найдем элемент, нарушающий убывающую последовательность. Обменяем его с минимальным элементом, большим нашего, стоящим правее. Далее перевернем правую часть.