| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: 2Dimensionale Arrays sortieren im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo, Wie kann ich ein 2 dimensionales Arra nach einem Element des "Unterarrays" sortieren?? z.B. ein Array $Daten[$i][$j] wie ...
![]() |
| | #1 (permalink) |
| Registriert seit: 25.10.01 ![]() Likes: 0 | Anzeige Hallo, Wie kann ich ein 2 dimensionales Arra nach einem Element des "Unterarrays" sortieren?? z.B. ein Array $Daten[$i][$j] wie kann ich das so sortieren, dass nach $Daten[$i][0] sortiert wird??? Das Array mit dem höchsten $Daten[$i][0] sollte als erstes kommen. $Daten[2][höchstes] $Daten[7][2.höchstes] $Daten[4][3.höchstes] Ich weiss, das ist umständlich und schlecht beschrieben, aber ich weiss nicht, wie ich´s sonst noch beschreiben kann. thx im Voraus Noob |
| | |
| | #2 (permalink) |
| Member of Honour ![]() | Schreibe mal 10 oder 20 beispiele... ich brauch was handfestes um zu helfen. danke! |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 25.10.01 ![]() Likes: 0 | ok, hier mal ein paar beispiele das hier $Daten[0][0]=1 $Daten[0][1]="Hallo" $Daten[0][2]="Test" $Daten[1][0]=4 $Daten[1][1]="Nochmals Hallo" $Daten[1][2]="Wieder Test" $Daten[2][0]=3 $Daten[2][1]="bla" $Daten[2][2]="bla" $Daten[3][0]=2 $Daten[3][1]="blabla" $Daten[3][2]="blabla" sollte zu $Daten[0][0]=1 $Daten[0][1]="Hallo" $Daten[0][2]="Test"$ $Daten[1][0]=2 $Daten[1][1]="blabla" $Daten[1][2]="blabla" $Daten[2][0]=3 $Daten[2][1]="bla" $Daten[2][2]="bla" $Daten[3][0]=4 $Daten[3][1]="Nochmals Hallo" $Daten[3][2]="Wieder Test" sortiert werden. |
| | |
| | #4 (permalink) |
| Member of Honour ![]() | vergiss es! da könnte man eine funktion schreiben. aber da kommst du nicht so einfach bei weg. Das is echt hammer. habe das mal angefangen, aber da ich keinen sinn darin sehe, lasse ich es ![]() sorry! |
| | |
| | #5 (permalink) |
| Guest Likes: | wenn du wenigstens das ding so sortieren wolltest dass an stelle 00 das erste ist , an stelle 01 das 2. usw.. aber 00 > 04 > 07 .. der algorithmus ist sch***** CU WaTchME |
|
| | #6 (permalink) |
| Themenstarter Registriert seit: 25.10.01 ![]() Likes: 0 | Ich glaub ich weiss schon, was ich in den Sommerferien machen werde. In 80 Tagen durch´s Array. Da PHP C eh einigermassen ähnlich ist, hab ich wenigstens mit der Sprache keine Probleme. mfg Noob |
| | |
| | #7 (permalink) |
| Registriert seit: 31.01.02 ![]() Likes: 0 | @niedriger noob Also...zweidimenionale Arrays sortieren ist nicht wirklich kompliziert... So wie ich das sehe willst Du das in php machen... Also gehen wir mal von Zahlen aus... Nehmen wir mal an das Array sieht so aus.. array[3][4] {{ 8, 7, 6, 5} { 4, 3, 2, 2} { 9, 8, 7, 1}} Und nehmen wir weiter an das Du die 9 rechts unten, und die 1 links oben haben moechtest. und zwar erst horizontal und dann vertikal..also so array[3][4]{{ 1, 2, 2, 3} { 4, 5, 6, 7} { 7, 8, 8, 9}} Der weg ist folgender... - Du duchsuchst das Array nach der niedrigsten Zahl...also der 1. Und das horizontal...- wenn Du eine gefunden hast dann kopierst Du sie an (nach Deinem System) an die ersten Stelle Deines Arrays..also array[1][1].- VORHER musst Du allerdings die Variable (oder-was-auch-immer) mit der Du tauschen wirst ( also mit der 8 an array[1][1]) kurzfristig in eine zusatzvariable packen..da sonst (hier die die Variable ja ueberschrieben wird.. - danach kopierts Du die 8 dorthin, wo vorher die 1 war. - zusaetzlich deklarierst Du Dir eine Variable die als eine Art "Merker" funktioniert...d.h. wenn Du die erste niedrigste ZAhl vertauscht hast musst Du sie von array[1][1] auf [1][2] setzen.. Wenn Du so das Array durchlaufen hast, suchst Du nach der naechst- hoeheren Zahl..also der 2 und verfaehrst genauso... Das einzig wichtige ist dabei das Dein "Merker" immer, wenn Du eine Zahl vertauscht hast einen hochgezaehlt wird... wenn Du mit Deinem Merker bei array[1][4] angelangt bist, dann wird er (logischerweise, wenn Du etwas dorhin kopiert hast) auf [2][1] gesetzt... Vermutlich hast Du aber auch Text in Deinem Array..neben Zahlen oder auch nur Text....da musst Du schauen ob es in PHP Funktionen gibt mit denen Du "lexikographisch" Text vergleichen kannst.. also ob AAA hoeher oder niedriger ist als CCC.... so..thats the way... viel spass beim "basteln".. btw: wenn Du eine Loesung in C haben willst dann kann ich Dir eine mailen... :wq! |
| | |
| | #8 (permalink) | |
| Themenstarter Registriert seit: 25.10.01 ![]() Likes: 0 | @seht Zitat:
erstmal thx für die Antwort, aber Es sollte nicht array[3][4]{{ 1, 2, 2, 3} { 4, 5, 6, 7} { 7, 8, 8, 9}} rauskommen sondern array[3][4]{ { 9,8,7,1} { 8,7,6,5} { 4,3,2,2}} . Es soll nur nach dem ersten Element sortiert werden, sonst ist ja die ganze 2. Dimension durcheinander. Aber ich denke dank deines Postings hab ist mir eine Idee gekommen wie ich das machen könnte. Ich nehme als Merker ein 1D-Array. 1) Suche nach dem höchsten $Daten[$1][0]. Das ist noch einfach. 2) Kopieren von Daten[0][0-4(oder wieviele es halt hat)] in den Merker. 3) Kopieren des höchsen gefundenen $Daten[$1][0-4] an $Daten[0][0-4]. Kopieren des Markers an die Position des gefundenen. Der Zähler springt jetzt auf $Daten[1][0-4] weiter, das erste Arrayelement ist ja schon das Höchste und darf nicht mehr in der Suche nach dem höchsten einbezogen werden. 4) Jetzt geht das ganze Spiel von vorne los, wieder suchen des Höchsten $Daten[$i][0], in den Merker u,s,w Ich werd das in den Sommerferien mal ausprobieren, sollte eigentlich in 2 Monaten zu schaffen sein. mfg Noob | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| bash, sed arrays und newline | sw33tlull4by | Code Kitchen | 10 | 18.07.08 20:47 |
| c++ fehler bei arrays | clAu$ | Code Kitchen | 8 | 17.02.08 00:57 |
| Programm zur Darstellung von Arrays(Matrizen) | odigo | Applikationen | 2 | 22.08.07 11:57 |
| [Java]Methoden und Arrays | Phibrizzo | Code Kitchen | 4 | 15.08.05 14:44 |
| PHP: name eines arrays ausgeben? | simb | (Web-) Design und webbasierte Sprachen | 3 | 13.04.03 12:41 |