Я пытаюсь сделать простую программу переадресации, которая с номеров ввода возвращает мне все перестановки других чисел.Перестановка 0..7 в C
Если я:
{0,1,2,3,4,5,6,7}
И я поставил в качестве входного номера 3, я хочу, чтобы все перестановки каждого числа, кроме заданного числа. Я не забочусь о порядке списка, мне просто нужно, чтобы первый номер был номером ввода.
{3,0,1,2,4,5,6,7}
{3,1,2,4,5,6,7,0}
{3,2,4,5,6,7,0,1}
... etc
Я судимое this solution, что дает все перестановки, но начинать от 1, и я не знаю, как остановить его, когда я закончу с указанием перестановки «желательную первым номером», так как я не забочусь остальные. Было бы здорово обрабатывать выходы с индексами для другого материала, который я делаю. Есть идеи? Благодарю.
Менее элегантным решением может быть удаление номера из массива, отображение перестановок всех остальных номеров и добавление этого числа ко всем этим решениям. – vish213