Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Programm für Formel1 Saisontabelle


Gattica - Sa 18.02.06 20:20
Titel: Programm für Formel1 Saisontabelle
Hi alle mit einander,

ich bin ein großer Formel 1 Fan und möchte gerne ein Programm schreiben, in dem ich die aktuellen Daten zur Saison eingeben kann und das programm soll nach Punkteständen ordnen.
Ich hab schon mal etwas überlegt:

Also: ich habe eine Stringgridliste in der die Namen der Fahrer stehen. Nach jedem Rennen möchte ich die Punkte , die jeder einzelne Fahrer erfahren hat, über ein Edit-Feld eingeben.
Wenn ich die erfahrenen Punkte eingegeben habe, soll das programm die Liste der Fahrer ordnen und zwar soll nach der höchsten Punktzahl geordnet werden.

Jetzt meine Frage: Kann ich dann die Fahrerliste mit Bubblesort oder einem anderen Sortierverfahren sortieren?

Und: Oder fallen euch noch andere Möglichkeiten ein, wie man so ein Programm machen kann?

Ich danke euch schon im voraus für eure Hilfe und Tipps.


Gattica


Marco D. - Sa 18.02.06 20:24

Warum Stringrid? Ich würde StringList bevorzugen. (einfacher zu handeln)

Bubblesort:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
Folgende Procedure sortiert Strings mit Hilfe des Bubble Sort Algorithmus:

procedure BubbleSort(Items: TStrings);
var
  done: boolean;
  i, n: integer;
  Dummy: string;
begin
  n := Items.Count;

  repeat
    done := true;
    for i := 0 to n - 2 do
      if Items[i] > Items[i + 1then
      begin
        Dummy := Items[i];
        Items[i] := Items[i + 1];
        Items[i + 1] := Dummy;

        done := false;
      end;
  until done;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  BubbleSort(Listbox1.Items);
end;

Dem EasyHelper entnommen.