Thema: Delphi teilweise permutation

Einzelnen Beitrag anzeigen

omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: teilweise permutation

  Alt 12. Feb 2008, 01:30
Hier mal ein Vorschlag...

Delphi-Quellcode:
procedure permutation(mitte:string; Liste:TStrings);

  procedure permut(links, mitte, rechts:string);
  var i:integer;
      temp:string;
  begin
    if mitte = 'then
      Liste.Append(links + rechts)
    else
      for i:=1 to length(mitte) do begin
        temp:=mitte;
        delete(temp, i, 1);
        permut(links + mitte[i], temp, rechts);
      end;
  end;

var links, rechts:string;
begin
  Liste.Clear;
  links:=copy(mitte, 1, 1);
  delete(mitte, 1, 1);
  rechts:=copy(mitte, length(mitte), 1);
  delete(mitte, length(mitte), 1);
  permut(links, mitte, rechts);
end;

procedure TForm.ButtonClick(Sender: TObject);
begin
  permutation('ABCDEFG', Memo.Lines);
end;
Gruss
Thorsten
  Mit Zitat antworten Zitat