![]() |
Listbox zum Quicksort benutzen
Hilfe
ich sitz hier muss unterricht sortiervorgänge bearbeiten und frag mich nur wieso der scheiß nich funtio ähm alles soweit geschrieben aber nich wieder in ausgabe wieso? sieh ungefähr so aus:
Delphi-Quellcode:
[edit=Luckie]Code formatiert. Bitte beim nächsten Mla selber machen. Mfg, Luckie[/edit]
unit Unit1weilist;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) zehl: TEdit; hinzu: TButton; ListBox1: TListBox; ListBox2: TListBox; rechner: TButton; hinweg: TButton; ergebnis: TEdit; schluss: TButton; procedure hinzuClick(Sender: TObject); procedure hinwegClick(Sender: TObject); procedure schlussClick(Sender: TObject); procedure rechnerClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; n,t:integer; zahl:array[0..100]of integer; implementation {$R *.dfm} procedure TForm1.hinzuClick(Sender: TObject); begin ListBox1.Items.Add(zehl.Text); end; procedure quicksort (l,r:Integer); var i,j,mitte,merke:integer; begin i:=l; j:=r; mitte:=zahl[(l+r) div 2]; repeat while zahl[i]< mitte do Inc(i); while mitte<zahl[j] do Dec(j); if i<=j then begin merke:=zahl[i]; zahl[i]:=zahl[j]; zahl[j]:=merke; inc(i); dec(j); end; until i>j; if l<j then Quicksort(l,j); if i<r then Quicksort(i,r); end; procedure delay(msec:longint); var start,stop:longint; begin start := gettickcount; repeat stop := gettickcount; application.processmessages; until (stop - start ) >= msec; end; procedure TForm1.hinwegClick(Sender: TObject); begin ListBox1.Items.Clear; ListBox2.Items.Clear; end; procedure TForm1.schlussClick(Sender: TObject); begin close; end; procedure TForm1.rechnerClick(Sender: TObject); var a,c:integer; begin t:=ListBox1.ItemIndex; t:=t-1; for a:=0 to t do zahl[a]:=strtoint(ListBox1.Items[a]); quicksort(0,n); for c:=1 to t do begin ergebnis.Text:=inttostr(zahl[c]); ListBox1.Items.Add(ergebnis.Text); end; end; end. |
Re: Listbox zum Quicksort benutzen
Ich würd da einfach Listbox1.sorted:=true machen, oder eben im OI die Eigenschaft gleich einstellen. Spart man sich diese doofen Algos zur sortierung.
Gruß Matthias |
Re: Listbox zum Quicksort benutzen
du matthias das wäre zwar möglich aber diese sortierung ist nicht nach meiner wahl, denn wenn ich das so mache dann sortiert delphi nach alphabet! ich möchte aber nach dem zahlenwert sortieren?
ich wüsste gerne ob du irgendwo einen fehler entdeckst! trotzdem vielen dank. :glaskugel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:14 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