Как отсортировать записи по идентификатору записи с помощью сортировки по бин / бункеру - PullRequest
0 голосов
/ 30 января 2019

У меня есть массив записей записей

Name: John ID: 101 Number: 9876123450
Name: Mellisa ID: 560 Number: 8360789114
Name: Daman ID: 444 Number: 9494149900

class Records {
String name;
long number;
int ID;
}

Records[] list;

Как можно отсортировать эти записи по идентификатору с помощью сортировки по группам?

Ожидаемый результат должен быть:

Name: John ID: 101 Number: 9876123450
Name: Daman ID: 444 Number: 9494149900
Name: Mellisa ID: 560 Number: 8360789114

Я пытался использовать этот подход, но не смог его завершить.

final int size = 999;
public void bucketSort(Records[] list) {
    int i,j,k;
    int[] buckets = new int[size];
    for (j=0;j<size;j++) {
      buckets[j] = 0;
    }
    for(i=0;i<list.length;i++) {
      if(list[i] != null) {
        ++buckets[list[i].ID];
      }
    }
    for (j=0;j<size;j++) {
      for (k = buckets[j]; k > 0; --k) {
        System.out.print(j);
      }
    }
  }
...