Рубрики

C # Программа для печати всех перестановок данной строки

Перестановка, также называемая «номером расположения» или «порядком», представляет собой перестановку элементов упорядоченного списка S в соответствие один к одному с самим S. Строка длиной n имеет n! перестановка.
Источник: Mathword ( http://mathworld.wolfram.com/Permutation.html )

Ниже приведены перестановки строки ABC.
ABC ACB BAC BCA CBA CAB

// C # программа для печати всех
// перестановки данной строки.

using System;

  

class GFG {

    / **

    * перестановочная функция

    * @param str строка для

       рассчитать перестановку для

    * @param l начальный индекс

    * @param r end index

    * /

    private static void permute(String str,

                                int l, int r)

    {

        if (l == r)

            Console.WriteLine(str);

        else {

            for (int i = l; i <= r; i++) {

                str = swap(str, l, i);

                permute(str, l + 1, r);

                str = swap(str, l, i);

            }

        }

    }

  

    / **

    * Обмен персонажей на позиции

    * @param строковое значение

    * @param I позиция 1

    * @парам j позиция 2

    * @return поменялась строка

    * /

    public static String swap(String a,

                              int i, int j)

    {

        char temp;

        char[] charArray = a.ToCharArray();

        temp = charArray[i];

        charArray[i] = charArray[j];

        charArray[j] = temp;

        string s = new string(charArray);

        return s;

    }

  

    // Код драйвера

    public static void Main()

    {

        String str = "ABC";

        int n = str.Length;

        permute(str, 0, n - 1);

    }

}

  
// Этот код предоставлен mits

Выход:

ABC
ACB
BAC
BCA
CBA
CAB

Пожалуйста, обратитесь к полной статье на Написать программу для печати всех перестановок данной строки для более подробной информации!

Рекомендуемые посты:

C # Программа для печати всех перестановок данной строки

0.00 (0%) 0 votes