Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
Turbo Delphi für Win32
|
Permutation/Anagram eines Strings erzeugen
23. Jul 2006, 20:06
Die folgende Funktion erzeugt ein Anagramm aus einem übergebenen String.
Es ist darauf zu achten, dass vor ihrem Aufruf einmal Randomize; aufgerufen wurde.
Delphi-Quellcode:
function MakeAnagram(str: string): string;
var I, n, r: Integer;
c: Char;
begin
result:=str;
n:=length(result);
for I:=1 to n do
begin
r:=i+random(n-I+1);
c:=result[I];
result[I]:=result[r];
result[r]:=c;
end;
end;
( Fisher und Yates-Algorithmus)
[edit=Chakotay1308]Titel geändert. Mfg, Chakotay1308[/edit]
Manuel Eberl „The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
|