Thema: Binären Baum

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Binären Baum

  Alt 2. Jul 2007, 08:45
Guten Morgen,

Zitat von Stillmatic:
... Das sortieren kann ich nicht machen da ich dann die Liste veränder und das darf nicht sein! ...
selbstverständlich darfst du die Liste sortieren - du musst es sogar. Wie willst du sonst deinen Morse-Code in einen Binärbaum verwandeln? Die Ordnung im Baum bleibt ja stets dieselbe und ist nur von der Interpretation der beiden Zeichen abhängig. alzaimar hat dich ja schon darauf gestoßen: Der Sort muss ja kein inplace sort sein:

Delphi-Quellcode:
procedure TDemoForm.Button2Click(Sender: TObject);
var
  i: Integer;
  c: Char;
  a: array['A'..'E'] of String;
  sl: TStringList;
begin
  sl := TStringList.Create;
  a['A'] := '.-';
  a['B'] := '-...';
  a['C'] := '-.-.';
  a['D'] := '-..';
  a['E'] := '.';
  for c := Low(a) to High(a) do
    sl.AddObject(a[c], Pointer(Ord(c)));
  sl.Sort;
  for i := 0 to Pred(sl.Count) do
  begin
    c := Chr(Integer(sl.Objects[i]));
    ListBox.Items.Add(c + '=' + sl[i]);
  end;
end;
Freundliche Grüße
  Mit Zitat antworten Zitat