![]() |
Re: array sortieren
Wenn ich beim Gockel die Begriffe [google]Delphi + Bubblesort[/google] eingebe, habe ich als 3. Treffer
![]() |
Re: array sortieren
Und eine Vertauschen 2 Werten macht man am Besten mit einem Dreieckstausch
|
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] |
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? |
Re: array sortieren
Zitat:
Delphi-Quellcode:
Bubblesort(MeinArray);
|
Re: array sortieren
weil die Frage schon vorprogrammiert (schöner Wortwitz =D ) ist, einer Procedure "SwapValues" übergibt man 2 parameter!
Delphi-Quellcode:
demnach erwartet diese auch 2!
SwapValues(j-1,j)
Delphi-Quellcode:
procedure TForm1.SwapValues(a,b:integer);
|
Re: array sortieren
inzwischen bin ich so weit gekommen:
(Kann jemand mal Korrektur lesen?!?)
Delphi-Quellcode:
Zunächst mekkert er immer im Deklarationsteil(oben) bei der Prodedure BubbleSort(...), desweiteren missfällt ihm die if Zeile der Prozedur!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; |
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:
[/edit]
procedure TDeineForm.Bubblesort(var B: Array of byte);
|
Re: array sortieren
Das ist eine wirklich gute Frage!
|
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. |
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