Автор Андрей Малярчук задал вопрос в разделе Другие языки и технологии
Алгоритмы (перестановки) и получил лучший ответ
Ответ от Мария Михайлова[гуру]
На C++ существует STL-функция next_permutation, получает из перестановки следующую. Если циклически применять к отсортированному массиву, выдаст все перестановки. Быстро, удобно, никакой рекурсии 🙂
Есть еще универсальный метод, основанный на циклах, громоздкий, но тоже без рекурсии -
Ответ от Александр[гуру]
с каких пор рекурсия "много времени занимает"
или вы хотели сказать что это займёт много времени чтобы вы поняли смысл рекурсии?
тупой перебор всех вариантов в выбором из них подходящих - это действительно занимает много времени.
с каких пор рекурсия "много времени занимает"
или вы хотели сказать что это займёт много времени чтобы вы поняли смысл рекурсии?
тупой перебор всех вариантов в выбором из них подходящих - это действительно занимает много времени.
Ответ от Sm[гуру]
> Мне нравится рекурсия, но она много времени занимает.
Это все равно что сказать "мне нравится самолет, но летает он медленно", боясь летать самолетом и стыдясь признаться в этом окружающим.
> Мне нравится рекурсия, но она много времени занимает.
Это все равно что сказать "мне нравится самолет, но летает он медленно", боясь летать самолетом и стыдясь признаться в этом окружающим.
Ответ от Александр Осипов[гуру]
что конкретно надо переставлять?
Если числа - используй циклы:
for i := 1 to 3 do
for j := 1 to 3 do
for k := 1 to 3 do
if (i<>j)and(i<>k)and(j<>k)
then writeln(i,j,k);
что конкретно надо переставлять?
Если числа - используй циклы:
for i := 1 to 3 do
for j := 1 to 3 do
for k := 1 to 3 do
if (i<>j)and(i<>k)and(j<>k)
then writeln(i,j,k);
Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Алгоритмы (перестановки)