All pastes #282585 Raw Edit

Someone

public java v1 · immutable
#282585 ·published 2006-12-17 18:45 UTC
rendered paste body
	static String[] permute (String str) {		if (str.length() < 2) {					String[] rekursionsende = { str	};			return rekursionsende;		} else {						String permutiert[] = new String[fakultaet(str.length())];						// Fuer "ab" laeuft diese Schleife 2 Mal - dadurch wird garantiert			// jedes Element des Rückgabe-Arrays mit irgendwas gefuellt.			for (int m = 0; m<permutiert.length;) {							// Fuer "ab" 2-maliger Durchlauf. Im 1. Durchlauf ist s_fixchar				// "a", im 2. "b".				// Nach Aufruf von permute("b") ist str.length=1 und b wird				// sofort zurueckgegeben (siehe oben). Also erhoeht sich n nun				// für str = "ab" auf 1. Dadurch wird s_fixchar = "b".				// UND WOHER KOMMT NUN A????				for (int n = 0; n < str.length(); n++) {					String s_fixchar = str.substring(n,n+1);					String s_restchar = str.substring(0,n)+str.substring(n+1);					String[] zw = permute(s_restchar);										// Im ersten Durchlauf ist zw.length = 1. Also perm[0]=a+b					for (int k=0; k<zw.length; k++) {						permutiert[m] = s_fixchar + zw[k];						m++;					}				}			}			return permutiert; 		}	}