Hi, nochmal zur Erinnerung, ich bin ein Newbie. Ich brauche Hilfe bei der Sortierung eines Arrays. Ich hatte schon mal ein ähnliches Thema eröffnet, in dem ich nur die erste Spalte sortieren musste. Diesmal muss ich eine Zeile sortieren.
Vorheriges Thema.
Nun, ich habe folgendes Array mit Zufallszahlen:
Grafische Darstellung:
Zuerst muss ich die erste Spalte sortieren und zwar aufsteigend. Dies klappt auch und zwar habe ich dafür die Klasse "TwoArrayComparator".
Die Klasse "TwoArrayComparator":
Zur Sortierung tippe ich dann einfach:
Das Bild unten wird dann vollbracht.
Nun ist es meine Aufgabe, Zeilenweise zu sortieren und zwar wieder aufsteigend. Zur Verdeutlichung die Grafik:
Habe nun versucht, die Klasse "TwoArrayComparator" zu erweitern:
Im Code gebe ich dann ein:
=> Pünktchen: Hier weiß ich nicht mehr, wie ich das eingeben soll, damit er die zweite Funktion aufruft und somit die Sortierung durchführt.
Wenn die Sortierung abgeschlossen ist, soll dies so aussehen:
Vorheriges Thema.
Nun, ich habe folgendes Array mit Zufallszahlen:
Code:
int maxSpalte = 4;
int[][] Werte = new int[3][maxSpalte];
Grafische Darstellung:
Zuerst muss ich die erste Spalte sortieren und zwar aufsteigend. Dies klappt auch und zwar habe ich dafür die Klasse "TwoArrayComparator".
Die Klasse "TwoArrayComparator":
Code:
import java.util.Comparator;
public class TwoArrayComparator implements Comparator<int[]>{
public int compare( int[] a, int[] b ){
return a[0] - b[0];
}
}
Zur Sortierung tippe ich dann einfach:
Code:
Arrays.sort( Werte, new TwoArrayComparator() );
Das Bild unten wird dann vollbracht.
Nun ist es meine Aufgabe, Zeilenweise zu sortieren und zwar wieder aufsteigend. Zur Verdeutlichung die Grafik:
Habe nun versucht, die Klasse "TwoArrayComparator" zu erweitern:
Code:
import java.util.Comparator;
public class TwoArrayComparator implements Comparator<int[]>{
public int compare( int[] a, int[] b ){
return a[0] - b[0];
}
public int compare( int[] a, int[] b, int Spalte ){
return a[1] - a[Spalte];
}
}
Im Code gebe ich dann ein:
Code:
for( int i = 1; i < maxSpalte; i ++ ) {
Arrays.sort( Werte, new TwoArrayComparator() );
...
}
=> Pünktchen: Hier weiß ich nicht mehr, wie ich das eingeben soll, damit er die zweite Funktion aufruft und somit die Sortierung durchführt.
Wenn die Sortierung abgeschlossen ist, soll dies so aussehen: