Delphi-PRAXiS
Seite 3 von 6     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi array sortieren (https://www.delphipraxis.net/126396-array-sortieren.html)

DeddyH 23. Dez 2008 18:31

Re: array sortieren
 
Wenn ich beim Gockel die Begriffe [google]Delphi + Bubblesort[/google] eingebe, habe ich als 3. Treffer diese Seite, wo der Algo gut erklärt und in verschiedenen Programmiersprachen implementiert wird.

mkinzler 23. Dez 2008 18:32

Re: array sortieren
 
Und eine Vertauschen 2 Werten macht man am Besten mit einem Dreieckstausch

Noedel 23. Dez 2008 18:32

Re: array sortieren
 
Weil SwapValues eine so genannte, selbst geschriebene Procedure von Wikipedia ist, und dies nicht in diesem Thema "Bubblesort" extra erklärt werden sollte/könnte/müsste/... ach such dir n wort aus :roll:

[EDIT] wohl mal wieder zu spät :shock: [/EDIT]

AlexanderBrade 23. Dez 2008 18:43

Re: array sortieren
 
Vielen Dank für die nützlichen Hinweise, aber eine FRage bleibt:
Wie rufe ich die Procedure Bubblesort innerhalb meiner Button1cclick prozedur auf?

DeddyH 23. Dez 2008 18:49

Re: array sortieren
 
Zitat:

Zitat von AlexanderBrade
Vielen Dank für die nützlichen Hinweise, aber eine FRage bleibt:
Wie rufe ich die Procedure Bubblesort innerhalb meiner Button1cclick prozedur auf?

Wie jede andere auch.
Delphi-Quellcode:
Bubblesort(MeinArray);

Noedel 23. Dez 2008 18:56

Re: array sortieren
 
weil die Frage schon vorprogrammiert (schöner Wortwitz =D ) ist, einer Procedure "SwapValues" übergibt man 2 parameter!

Delphi-Quellcode:
SwapValues(j-1,j)
demnach erwartet diese auch 2!

Delphi-Quellcode:
procedure TForm1.SwapValues(a,b:integer);

AlexanderBrade 23. Dez 2008 19:01

Re: array sortieren
 
inzwischen bin ich so weit gekommen:
(Kann jemand mal Korrektur lesen?!?)
Delphi-Quellcode:

procedure Button1Click(Sender: TObject);
    Procedure BubbleSort(var B: Array of byte);
  private
    { Private-Deklarationen }

              {usw.}
Procedure BubbleSort(var B: Array of byte);
   Procedure Swap(var xx,yy:integer);
     var
      Swp: integer;
      begin
        swp:=xx;
        xx:=yy;
        yy:=swp;
      end;

var i,j : Integer;
Begin
For i:= 1 to 24 Do
   For j:= 1 To 24-1 Do
       If (B[j] > B[j+1]) Then Swap( B[j], B[j+1] );

End;
Zunächst mekkert er immer im Deklarationsteil(oben) bei der Prodedure BubbleSort(...), desweiteren missfällt ihm die if Zeile der Prozedur!

DeddyH 23. Dez 2008 19:04

Re: array sortieren
 
Was soll denn A sein?

[edit] Und wenn Du es im interface-Teil als Methode Deines Formulars deklarierst, musst Du es im implementation-Teil auch als Methode schreiben:
Delphi-Quellcode:
procedure TDeineForm.Bubblesort(var B: Array of byte);
[/edit]

AlexanderBrade 23. Dez 2008 19:05

Re: array sortieren
 
Das ist eine wirklich gute Frage!

guidok 23. Dez 2008 19:10

Re: array sortieren
 
Dein Array ist vom Typ "Byte" und deine Swap Prozedure tauscht Werte vom Typ Integer und angeblich ist dein Array ja vom Typ Word. Du solltest dich mal entscheiden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 Uhr.
Seite 3 von 6     123 45     Letzte »    

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