Hey Leute,
Folgendes. Ich habe mir verschiedene Sortier Algorithmen geschrieben.
Ich möchte jetzt Strings, Chars, Int... sortieren ohne extra eine neue Methode zu schreiben.
Es funktioniert zwar mit dem Comparable array, aber Eclipse gibt mir alles Warnungen raus.
Gibt es eine "schönere/bessere" Lösung?
Folgendes. Ich habe mir verschiedene Sortier Algorithmen geschrieben.
Ich möchte jetzt Strings, Chars, Int... sortieren ohne extra eine neue Methode zu schreiben.
Java:
int[] a = { 2, 7, 8, 16, 15, 1, 4, 3, 9, 13, 13, 14, 5, 10, 12, 11, 6 };
System.out.println(Arrays.toString(a));
a = Sort.xyzSort(a, Sort.ASC);
System.out.println(Arrays.toString(a));
a = Sort.xyzSort(a, Sort.DESC);
System.out.println(Arrays.toString(a));
char[] b = { 'B', 'F', 'G', 'P', 'O', 'A', 'D', 'C', 'I', 'J', 'J', 'N', 'H', 'M', 'L', 'K', 'E' };
System.out.println(Arrays.toString(b));
b = Sort.xyzSort(b, Sort.ASC);
System.out.println(Arrays.toString(b));
b = Sort.xyzSort(b, Sort.DESC);
System.out.println(Arrays.toString(b));
public class Sort {
public static int ASC = 0;
public static int DESC = 1;
public static int[] xyzSort(int[] array, int order) {
Comparable[] a = new Comparable[array.length];
for (int i = 0; i < a.length; i++) {
a[i] = array[i];
}
a = xyzSort(a, order);
for (int i = 0; i < a.length; i++) {
array[i] = (int) a[i];
}
return array;
}
public static char[] xyzSort(char[] array, int order) {
Comparable[] a = new Comparable[array.length];
for (int i = 0; i < a.length; i++) {
a[i] = array[i];
}
a = xyzSort(a, order);
for (int i = 0; i < a.length; i++) {
array[i] = (char) a[i];
}
return array;
}
public static String[] xyzSort(String[] array, int order) {
Comparable[] a = new Comparable[array.length];
for (int i = 0; i < a.length; i++) {
a[i] = array[i];
}
a = xyzSort(a, order);
for (int i = 0; i < a.length; i++) {
array[i] = (String) a[i];
}
return array;
}
private static Comparable[] xyzSort(Comparable[] array, int order) {
//Hier wird sortiert
return a;
}
Es funktioniert zwar mit dem Comparable array, aber Eclipse gibt mir alles Warnungen raus.
Gibt es eine "schönere/bessere" Lösung?