Programma Java per calcolare tutte le permutazioni della stringa

In questo esempio, impareremo a calcolare tutte le permutazioni della stringa in Java.

Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione Java:

  • Java String
  • Ricorsione Java
  • Java Scanner Class

Per permutazione della stringa si intendono tutte le possibili nuove stringhe che si possono formare scambiando la posizione dei caratteri della stringa. Ad esempio, la stringa ABC ha permutazioni (ABC, ACB, BAC, BCA, CAB, CBA) .

Esempio: programma Java per ottenere tutte le permutazioni di una stringa

 import java.util.HashSet; import java.util.Scanner; import java.util.Set; class Main ( public static Set getPermutation(String str) ( // create a set to avoid duplicate permutation Set permutations = new HashSet(); // check if string is null if (str == null) ( return null; ) else if (str.length() == 0) ( // terminating condition for recursion permutations.add(""); return permutations; ) // get the first character char first = str.charAt(0); // get the remaining substring String sub = str.substring(1); // make recursive call to getPermutation() Set words = getPermutation(sub); // access each element from words for (String strNew : words) ( for (int i = 0;i<=strNew.length();i++)( // insert the permutation to the set permutations.add(strNew.substring(0, i) + first + strNew.substring(i)); ) ) return permutations; ) public static void main(String() args) ( // create an object of scanner class Scanner input = new Scanner(System.in); // take input from users System.out.print("Enter the string: "); String data = input.nextLine(); System.out.println("Permutations of " + data + ": " + getPermutation(data)); ) )

Produzione

 Immettere la stringa: ABC Permutazioni di ABC: (ACB, BCA, ABC, CBA, BAC, CAB)

In Java, abbiamo utilizzato la ricorsione per calcolare tutte le permutazioni di una stringa. Qui, memorizziamo la permutazione in un set. Quindi, non ci saranno permutazioni duplicate.

Articoli interessanti...