Упражнения C # Sharp: Генерация всех возможных перестановок массива
C # Sharp Recursion: Упражнение 11 с решением
Напишите программу на C # Sharp для генерации всех возможных перестановок массива с использованием рекурсии.
Иллюстрированная презентация:
Пример решения :
C # острый код:
using System;
class formPermut
{
public void swapTwoNumber (ref int a, ref int b)
{
int temp = a;
a = b;
b = temp;
}
public void prnPermut (int []list, int k, int m)
{
int i;
if (k == m)
{
for (i = 0; i <= m; i++)
Console.Write ("{0}",list [i]);
Console.Write (" ");
}
else
for (i = k; i <= m; i++)
{
swapTwoNumber (ref list [k], ref list [i]);
prnPermut (list, k+1, m);
swapTwoNumber (ref list [k], ref list [i]);
}
}
}
class RecExercise11
{
public static void Main()
{
int n,i;
formPermut test = new formPermut();
int[] arr1 = new int[5];
Console.WriteLine("\n\n Recursion : Generate all possible permutations of an array :");
Console.WriteLine("------------------------------------------------------------------");
Console.Write(" Input the number of elements to store in the array [maximum 5 digits ] :");
n = Convert.ToInt32(Console.ReadLine());
Console.Write(" Input {0} number of elements in the array :\n",n);
for(i=0;i<n;i++)
{
Console.Write(" element - {0} : ",i);
arr1[i] = Convert.ToInt32(Console.ReadLine());
}
Console.Write ("\n The Permutations with a combination of {0} digits are : \n",n);
test.prnPermut(arr1, 0, n-1);
Console.Write ("\n\n");
}
}
Пример вывода:
Рекурсия: Генерация всех возможных перестановок массива: -------------------------------------------------- ---------------- Введите количество элементов для хранения в массиве [максимум 5 цифр]: 3 Введите 3 числа элементов в массиве: элемент - 0: 1 стихия - 1: 2 стихия - 2: 3 Перестановки с комбинацией из 3 цифр: 123 132 213 231 321 312
Блок-схема:
Редактор кода C # Sharp:
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите программу на C # Sharp, чтобы найти числа Фибоначчи для чисел ряда, используя рекурсию.
Далее: Напишите программу на C # Sharp, чтобы найти LCM и GCD из двух чисел, используя рекурсию.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code