Mehrdimensionales Array sortieren
Übersicht

![]() |
Ebola33Betreff: Mehrdimensionales Array sortieren |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Leute,
glaube ich hab n extremen Denkfehler gerade. Es geht um folgendes. Ich habe eine Liste mit mehreren tausend Einträgen mit Koordinaten der Planeten eines Browsergames. Die Koordinaten sind so aufgebaut z.B. 280:127:4 bedeutet galaxie 280, Sonnensystem 127 Planet 4. Die Koordinaten habe ich so gespeichert : BlitzBasic: [AUSKLAPPEN] Dim daten(anzahl,2) wobei anzahl(1. dimension) den Index des Listeneintrages enthält.(Dieser index enthält informationen über den Planeten, name usw. muss also sortiert werden) 2. dimension : (hiernach muss sortiert werden) 0=galaxie 1=Sonnensystem 2=Planet So weit so gut. Sortieren geht auch wunderbar (Bubblesort) allerdings nur nach Galaxien. Ich möchte aber innerhalb der Galaxien auch nach Sonnensystemen ![]() Ich habe da echt nen Denkfehler was das sortieren angeht. Für eure Hilfe bin ich jetzt schon dankbar. Mfg Ebola ![]() |
||
ansteckend... ![]() verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/ |
![]() |
Ctuchik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist relativ leicht!
Wenn du 2 Einträge vergleichst, um zu sehen welcher größer ist, dann vergleichst du zunächst die Galaxie. Wenn die gleich ist, dann vergleich auch noch das Sonnensystem. Wenn das auch gleich ist, dann vergleichst du die Planeten. Fertig. |
||
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle! Fraget euren Arzt oder Apotheker! |
![]() |
Alfadur |
![]() Antworten mit Zitat ![]() |
---|---|---|
du hast mit daten ein zweidimensionales array, erklär mir mal was dann zb in daten(1,0), daten(1,1) und daten(1,2) drinsteht... wie das dann aufgebaut ist ... ist das dann planet nummer 1, mit daten(1,0)=galaxie, daten(1,1)=system und daten(1,2)=planet? | ||
A Cray is the only computer that runs an endless loop in less than four hours. |
![]() |
Ebola33 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Genau. Villeicht habe ich mich falsch ausgedrückt.
Die Liste sieht so aus : 8 Shaddam Mitglied 46 104:188:1 9 Parano Mitglied 11 104:66:2 10 Mastkiller Mitglied 31.5 101:121:9 11 HariSeldon Mitglied 24 102:273:4 12 karmus Mitglied 31.25 102:273:4 13 JoeB Mitglied 37 101:247:12 14 Tlactar Mitglied 11 103:115:7 15 multitone Mitglied 33 102:175:7 16 lencker Mitglied 28 103:154:5 17 DrTod Mitglied 44.5 100:134:8 18 McCloud Mitglied 22 101:260:3 usw..... die soll geordnet werden. Ich habe ein stringarray erstellt und mit readline jede Zeile einzeln ausgelesen. Dann den String nach den Koordinaten durchsucht und diese dann ins Array daten() gespeichert. daten (1,0) 1 wäre der index des 1. listeneintrags , 0 ist die Galaxie daten (1,1) 1 wäre der index des 1. listeneintrags , 1 ist das Sonnensystem daten (1,2) 1 wäre der index des 1. listeneintrags , 2 ist das Planet jetzt muss die 1. dimension sortiert werden nach wertigkeit der 2. Danach wird das stringarray in der richtigen Reihenfolge in die datei geschrieben. Edit : Ich hab jetzt ne funktion die das macht. Leider viel zu umständlich und sehr langsam. |
||
ansteckend... ![]() verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/ |
![]() |
Alfadur |
![]() Antworten mit Zitat ![]() |
---|---|---|
liegt wohl auch mit am wirklich sehr langsamen bubblesort, vielleicht solltest du quicksort oder mergesort in betracht ziehen, sind beide etwa gleich schnell, mergesort manchmal etwas schneller, aber beide immernoch 1000x schneller als bubblesort... | ||
A Cray is the only computer that runs an endless loop in less than four hours. |
![]() |
Ebola33 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh danke,
Quicksort ist das Mittel der Wahl. Kannte das gar nicht ![]() - erledigt - |
||
ansteckend... ![]() verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/ |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group