![]() |
2-Dimensionales Array sortieren?
Hallo!
Ich habe folgendes Problem: Ich will eine Zuordnung aus Integerwerten sortieren... (Array of Array[0..1] of integer) 0 1 2 3 4 5 3 2 4 1 2 1 und zwar nach den unteren Werten, beginnend mit dem Größten! Dabei soll die oberen Werte mit sortiert werden. Ich hab schon versucht Bubble- und Insertsort umzuschreiben, aber kommt nich das raus was ich gerne hätte, nämlich: 2 0 1 4 3 5 4 3 2 2 1 1 Vielleicht hat jemand sowas schon mal gemacht?! :idea: |
Re: 2-Dimensionales Array sortieren?
Vielen Dank für eure Antworten *g*
Na dann helf ich mir halt selbst! :? |
Re: 2-Dimensionales Array sortieren?
Vielleicht solltest Du den Benutzern hier mehr als 1,5 Stunden Zeit geben?!?
Delphi-Quellcode:
Ich hab's nicht getestet, aber probier's einfach mal!
type
TInt01 = array[0..1] of Integer; TFeld = array of TInt01; procedure BubbleSort(var Feld: TFeld); var Fertig: Boolean; i: Integer; Hilfe: TInt01; begin repeat Fertig := True; for i := 0 to High(Feld) do if Feld[i, 1] > Feld[i+1, 1] then begin Hilfe := Feld[i]; Feld[i] := Feld[i+1]; Feld[i+1] := Hilfe; Fertig := False; end; until Fertig; end; |
Re: 2-Dimensionales Array sortieren?
Danke, ich hab das Problem jetzt schon selbst gelöst:
Delphi-Quellcode:
function Loesungssystem.sort(Eingabe : TListe; n1 : integer) : TErgebnisListe;
VAR x,y,i : integer; tausch : boolean; e : tergebnisliste; Begin y := n1; tausch := true; While tausch do Begin tausch := false; For x := 0 to y -1 do If Eingabe[x,1] > Eingabe[x+1,1] then Begin tausch := true; tausche (Eingabe[x,1], Eingabe[x+1,1]); tausche (Eingabe[x,0], Eingabe[x+1,0]); // Mitsortierung End; y := pred(y); End; End; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz