Összhangzattan XXIII.

Az akkordmenetek matematikája IV.

 

Permutációs Java-kód

 

A kód szabadon elérhető az Interneten, szerzője: javahungry.blogspot.com és fejlesztői környezetbe másolva (például Eclipse) azonnal futtatható.

 

import java.util.Scanner;

class Permutation {

public static void main (String args[]){
{
System.out.println("Please enter the string whose permutations we need to show ");
Scanner in = new Scanner(System.in);
String original=in.nextLine();
System.out.println("");
System.out.println("Results are :");
System.out.println("");
permute(original);
}
}

public static void permute( String input)
{
int inputLength = input.length();
boolean[ ] used = new boolean[ inputLength ];
StringBuffer outputString = new StringBuffer();
char[ ] in = input.toCharArray( );
doPermute ( in, outputString, used, inputLength, 0 );

}

public static void doPermute ( char[ ] in, StringBuffer outputString,
boolean[ ] used, int inputLength, int level)
{
if( level == inputLength) {
System.out.println ( outputString.toString());
return;
}

for( int i = 0; i < inputLength; ++i )
{

if( used[i] ) continue;

outputString.append(in[i]);
used[i] = true;
doPermute( in, outputString, used, inputLength, level + 1 );
used[i] = false;
outputString.setLength(outputString.length() - 1 );
}
}
}