|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.10.2012, 20:27 | #1 |
Пользователь
Регистрация: 13.09.2012
Сообщений: 12
|
Алгоритм генерации числовых перестановок в лексикографическом порядке
У меня проблема. Нужно перебрать все лексикографически следующие перестановки. Вот мой код. Одна перестановка делается, а дальше я не знаю, как мне повторить все мои действия для этой перестановки и так дали до конечной.
Если нужно, то вот Алгоритм генерации перестановок в лексикографическом порядке: 1. Просматриваем а1, ..., аn с конца до тех пор, пока не попадется ai<ai+1. Если таковых нет, то генерация закончена. 2. Рассматриваем ai+1, ai+2, ..., an. Найдем первый с конца am больший ai и поменяем их местами. 3. ai+1, ai+2, ..., an переставим в порядке возрастания (для этого достаточно её переписать с конца). 4. Печатаем найденную перестановку. 5. Возвращаемся к пункту 1. Спасибо!!! Код:
Последний раз редактировалось Stilet; 29.10.2012 в 21:08. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм генерации перестановок в лексикографическом порядке | maksym08 | Visual C++ | 0 | 28.10.2012 17:54 |
Написать рекурсивную процедуру генерации всех перестановок чисел от 1 до n | Proskurina | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 04.06.2012 10:34 |
генерация следующей перестановки в лексикографическом порядке. | Dimanw92 | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 26.09.2011 23:19 |
Прерывание генерации перестановок | Goombold | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 26.05.2011 10:21 |
Прогамма должна выполнять сортировку имен в лексикографическом порядке методом Хоора и Шелла. | ser_b | Помощь студентам | 2 | 27.05.2010 21:26 |