Thema: Sortierung;

Einzelnen Beitrag anzeigen

Benutzerbild von Mokus
Mokus

Registriert seit: 24. Sep 2013
165 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Sorterung;

  Alt 26. Sep 2013, 07:31
Danke für die netten Hilfen;

meine sortierungsklasse ist nun so aufgebaut worden.

Delphi-Quellcode:
unit sortieren;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, hauefigkeit_zaehlen;

Type
  TForm3 = class
    procedure sortieren(a_zaehlen: array of integer; st_list2: TStringlist);
  end;

var
  s_ausgabe: string;

implementation

procedure TForm3.sortieren(a_zaehlen: Array of integer; st_list2: TStringlist);
var
  i: integer;
  x: integer;
  a: integer;
  i_hwert: integer;
  st_list3: TStringlist;
  i_hidx: integer;
  b_abbruch: boolean;

  st_list4: TStringlist;

begin

  // Listen erzeugen, wo ergibnisse abgespeichert werden
  st_list4 := TStringlist.Create;
  st_list3 := TStringlist.Create;

  // nach dem hösten wert im arra a_zaehlen suchen
  for x := 0 to length(a_zaehlen) do

  begin
    i_hidx := 0;
    i_hwert := 0;
    for a := 0 to length(a_zaehlen) - 1 do
    begin
      if i_hwert < a_zaehlen[a] then

      begin
        i_hwert := a_zaehlen[a];
        i_hidx := a;

      end;

    end;

    // Hösten wert + dazugehörige wort in listen übergeben
    st_list3.add(st_list2[i_hidx]);

    st_list4.add(inttostr(i_hwert));

    a_zaehlen[i_hidx] := 0; // momentan höhsten wert zurücksetzen

  end;
  // ausgabe für memofeld
  for i := 0 to st_list2.Count - 1 do
  begin
    s_ausgabe := s_ausgabe + #10#13 + 'Ihr Wort : "' + st_list3[i] + '" kam ' +
      st_list4[i] + ' mal vor.' + slinebreak;
  end;

  st_list3.free;

end;

end.
Ich weiß, ist nicht der schnellste Algorithmus, aber für das kleine Programm reicht das vollkommen aus.
Markus
es gibt nur 10 arten von menschen !
die die binär verstehen und die die nicht. !
  Mit Zitat antworten Zitat