Informatik Material Portal Portfolio Präsentation Grafik Tabellenkalkulation Informatik56 9 10 11 12 13 Messen, Steuern, Regeln Linux Theorie Didaktik Open Source Spiele Wettbewerbe Netzbetreuung intern Literatur Links Energie corewar UNIX/Linux
Pfad: Startseite / Fächer / Informatik
Autor: be
22.02.2006 11:13:34
1095

Sortieren durch Minimumsuche

zahlen, sortiert: Array[1..10] of Integer;
procedure ausgabe;
procedure tauschen(index1, index2: Integer);
function minStelle(anfang: Integer): Integer;
function TSortieren.minStelle(anfang: Integer): Integer;
var m, stelle, i: Integer;
begin
  m := sortiert[anfang];
  stelle := anfang;

  for i:=anfang+1 to 10 do
    if sortiert[i] < m then
    begin
      m := sortiert[i];
      stelle := i;
    end;
  minStelle := stelle;
end;

procedure TSortieren.tauschen(index1, index2: Integer);
// vertauscht die Zahlen, die an den Stellen index1 und
// index2 des Arrays sortiert stehen
var temp: Integer;
begin
  temp := sortiert[index1];
  sortiert[index1] := sortiert[index2];
  sortiert[index2] := temp;
end;

procedure TSortieren.btMinimumsucheClick(Sender: TObject);
var i, index: Integer;
begin
  // Zahlen vom Array zahlen nach sortiert kopieren
  for i:=1 to 10 do
    sortiert[i] := zahlen[i];
  // Sortieren
  for i:=1 to 9 do
  begin
    index := minStelle(i);
    tauschen(i, index);
  end;
end;

Valid XHTML 1.0 Strict lokal