Thema: Permutation

Einzelnen Beitrag anzeigen

Lotus

Registriert seit: 26. Feb 2007
85 Beiträge
 
Delphi 7 Personal
 
#1

Permutation

  Alt 4. Nov 2008, 17:18
Ich hab versucht mithilfe dieses Libraryeintrags (http://www.delphipraxis.net/internal...ct.php?t=74277) den Quellcode so umzuschreiben, dass er auch mit einem Record aus einem String und einem Integer umzusetzen.

Delphi-Quellcode:
type
tdaten=record
name:string;
zahl:integer;
end;
Jedoch komme ich nicht auf eine brauchbare Lösung. Könnt ihr mir helfen?

Hier noch mein bisheriger Quellcode:

Delphi-Quellcode:
procedure Permute(Vals: tlist; Akt: tlist);
var i:Integer;
    S: tlist;
begin
if vals.Count=0 then begin
for i:=0 to akt.Count-1 do
form1.ListBox1.Items.Add(tdaten(akt[i]^).name)
end
  else
    for i:=0 to vals.Count-1 do
      begin
      s:=tlist.Create;
      S:=Vals;
      akt.Add(vals[i]);
      s.Delete(i);
      Permute(S,Akt);
      end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var foo:tlist;
begin
foo:=tlist.Create;
permute(p_list,foo);
ListBox1.Clear;
end;
Als Beispiel:

In der Liste steht:
Hans 1
Dieter 3
Klaus 6

Daraus sollen jetzt folgende Möglichkeiten ausgegeben werden:
Hans, Dieter, Klaus
Dieter, Hans, Klaus
Klaus, Dieter, Hans
etc..
  Mit Zitat antworten Zitat