Skip to content

Instantly share code, notes, and snippets.

@homelinen
Created September 13, 2011 15:25
Show Gist options
  • Save homelinen/1214103 to your computer and use it in GitHub Desktop.
Save homelinen/1214103 to your computer and use it in GitHub Desktop.
Displays every permutation of the given letters. Probably a horrible way of doing it.
import java.util.*;
class FormWords {
private String joinLetters(ArrayList<String> letters) {
String word = "";
for (String letter : letters) {
word += letter;
}
return word;
}
/**
* Move the first letter to the end of the queue
**/
private ArrayList<String> jumbleLetters(ArrayList<String> letters, int fromPos, int toPos) {
String letter = letters.remove(fromPos);
letters.add(toPos, letter);
return letters;
}
public static void main(String[] argv) {
FormWords joined = new FormWords();
ArrayList<String> letters = new ArrayList<String>();
//Could split a string from argv to create list
letters.add("c");
letters.add("a");
letters.add("r");
letters.add("b");
letters.add("o");
letters.add("n");
for (int j=0;j<letters.size();j++) {
for (int i=0;i<letters.size();i++) {
String joinedWord = joined.joinLetters(letters);
if (i != j) {
System.out.println(joinedWord);
letters = joined.jumbleLetters(letters, i, j);
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment