Entwickler-Ecke
Sonstiges (Delphi) - besonderes Array Sortiren
theChaoS - So 16.11.08 20:57
Titel: besonderes Array Sortiren
Hallo alle miteinander
Okay bin mal wieder an meine Grenzen gestoßen und wehre Glücklich wen ihr mir mal helfen könntet
im Prinzip suche ich einen einfachen Sortieralgoriytmus also nix grosses ABER
ich habe einen Array (of String DYNAMISCH) wobei jede grade Zahl (0,2, bis n) ein Wort ist und jede ungrade Zahl (1,3,5 bis n) eine Integer Zahl die als String gespeichert ist.
Nun müssten die Zahlen sortiert werden ^^
Außerdem sollte jedes Wort das VOR der Zahl steht mit der Zahl verschoben werden das es am ende wieder VOR der Zahl steht^^
Ich selbst blicke da grad nicht mehr durch und bitte DRINGEND um Hilfe oder zu mindest ein Denkanstoss
Schon mal THX im Voraus
theCHaos
Gausi - So 16.11.08 21:03
Das hört sich irgendwie so an, als hättest du ein Designfehler in deiner Anwendung. Warum nimmst du nicht ein Array of Record, wobei das Record die Zahl und den String speichert? Und dieses Array of Record kannst du dann z.B. mit Bubblesort oder Quicksort sortieren. Kommt drauf an, wie groß das Array ist, und wie schnell das gehen soll. ;-)
theChaoS - So 16.11.08 21:08
ähh tja also ne beispiel were gut ^^
so ne array of recod (in dynamicher vorm) hab ich noch nie verwendet
theChaoS - So 16.11.08 22:50
Tja also ich poste ma wie weit ich bin
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38:
| var j,i,a,b,help:integer; c,d,strhelp:string; begin
i:=1; repeat a:=strtoint(sortarray[i]); b:=strtoint(sortarray[i+2]); c:=sortarray[i-1]; d:=sortarray[i+1]; if a<b then begin help:=b; a:=b; b:=help; strhelp:=d; c:=d; d:=strhelp; sortarray[i]:=inttostr(a); sortarray[i+2]:=inttostr(b); end; i:=i+2; until i=sa1-1;
i:=1; repeat listbox2.Items.Add(sortarray[i-1]); listbox2.Items.Add(sortarray[i]); i:=i+2; until i=sa1-1; listbox2.Items.Add(sortarray[i-1]); listbox2.Items.Add(sortarray[i]); |
die Arrays sind GLOBAL
Tja also der diese suchverfahren arbeite aber FALSCH
P.S. jaja ich hab unleserlich gecodet
und ja die variablen sind unübersichtlich
Were cool von euch mir trozdem zu helfen ^^
ub60 - So 16.11.08 23:08
Mach doch zwei Arrays draus (Strings und Zahlen). Sortiere dann das erste Array. Bei jeder Vertauschung im ersten Array tausche auch die entsprechenden Werte im zweiten Array.
ub60
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!