Arraysortierungen?

Previous topic - Next topic

Husten

hi,

ich bin einfach zu deppert drum frag ich lieber doof.

ich hab ein array, mit verschieden werten also zb

area[0] = 123
area[1] = 456
area[2] = 789

nur würde ich es gerne erstmal nach value sortieren (höchster wert zuerst), dieses area dann in dieser reihenfolge in einer schleife abarbeiten und ich muss auch beim abarbeiten value und den key den es vor der sortierung hatte wissen. also ist es möglich das array nach value abzuarbeiten wobei key und value immer noch wie vorher den bezug haben (also hier im beispiel 0 => 123 auch wenn 0 als beim abarbeiten als letztes drankommt).

ich hoffe das war verständlich ;)

vf
Husten

Kitty Hello

Code (glbasic) Select

TYPE Tpair
   index
   value
ENDTYPE

LOCAL p AS Tpair, a[] AS Tpair
   p.index=0
   p.value=123
   DIMPUSH a[], p
   ...
sort(a[])


So würd' ich's machen.

Husten

thx mit dem ansatz komm ich weiter :)

Husten

naja nach dem testen eigentlich nicht, denn die funktion sort gibts einfach nicht :(

Schranz0r

wer häts gedacht ^^

mach dir nix draus bin da auch mal gescheitert :(
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Husten

ich versuch mir jetzt bubblesort zu basteln, da kann ich mich grob aus schulzeiten dran erinnern, das ging noch recht simpel ;)

Quentin

Wenn es sich um größere Datenmengen handelt, kannst dich auch an einem Quicksort probieren. Hatte das hier mal für ein einfaches Array eingestellt:

http://www.glbasic.com/forum/index.php?topic=1310.0

könntest das für deine Zwecke umschreiben.

Kitty Hello

hmmm... Man müsste eine SORT Funktion einbauen. Also. Jedes TYPE müsste einen "operator <" bekommen. Hmmm...

Husten

Quote from: Quentin on 2008-Sep-04
Wenn es sich um größere Datenmengen handelt, kannst dich auch an einem Quicksort probieren. Hatte das hier mal für ein einfaches Array eingestellt:

http://www.glbasic.com/forum/index.php?topic=1310.0

könntest das für deine Zwecke umschreiben.

supercool danke :) an quicksort hätte ich mich jetzt garnicht rangetraut, aber wenn es das eh schon gibt ;)