Ich habe drei Fragen zu verstehen:Der Versuch, über den folgenden Code Bucketsort Code
static void funct(int[] list) {
final int N = 20;
java.util.ArrayList[] buckets = new java.util.ArrayList[N];
for(int i = 0; i< list.length; i++) {
int key = list[i];
if(buckets[key] = null)
buckets[key].add(list[i]);
}
int k = 0
for(int i = 0; i <buckets.length; i++) {
if(buckets[i] != null) {
for(int j = 0; j< buckets[i].size(); j++)
list[k++] = (Integer)buckets[i].get(j);
}
}
}
Der Algorithmus hat ein großes Manko, ist es, dass es nur für bis arbeiten 20 Elemente und dass es eine geringe Komplexität hat?
Der Punkt des Codes ist eine Liste von Elementen zu sortieren - sie werden in ein Array, dann in Eimer gelegt, dann werden sie aus den Eimern wieder in das Array gesetzt?
Heres der eine, auf den ich bin, wie würden Sie die Methode ändern, so dass Sie ein Array übergeben könnten, das Objekte einer anderen Klasse statt Ganzzahlen enthält?