Java BucketSort

Java BucketSort,java,Java,我相信你可能从CompSci的学生那里得到了很多信息,我尝试过搜索,但我的搜索结果与我能找到的其他搜索结果大不相同。无论如何,这是我的类,它应该对一个整数数组进行排序,然后在将来被修改为对对象进行排序,但是int现在可以 我的目标是制作一个基本上是一排桶的arrayList。那么每个bucket就是一个链表。我觉得我的思路是对的,但是编译器不喜欢我的最后一行代码,所以我已经没有想法了 这里有一个更新。这就是我现在拥有的,但我仍然不认为它会起作用 编译器不喜欢您的代码,因为LinkedList的a

我相信你可能从CompSci的学生那里得到了很多信息,我尝试过搜索,但我的搜索结果与我能找到的其他搜索结果大不相同。无论如何,这是我的类,它应该对一个整数数组进行排序,然后在将来被修改为对对象进行排序,但是int现在可以

我的目标是制作一个基本上是一排桶的arrayList。那么每个bucket就是一个链表。我觉得我的思路是对的,但是编译器不喜欢我的最后一行代码,所以我已经没有想法了

这里有一个更新。这就是我现在拥有的,但我仍然不认为它会起作用


编译器不喜欢您的代码,因为LinkedList的add方法不返回任何具有void返回类型的内容。因此,它不能用作set方法的参数。基本上,add修改了调用它的对象,但不将该对象作为值返回

我可以建议的最简单的修改是:

for(int i=0; i<entries.length; i++){
    int j = entries[i];
    column.add(0, j);
    row.set(j, column);
}

除此之外,我还不清楚你到底想在这里完成什么。我没有看到任何看起来像排序的东西。

编译的问题是column.add返回void


更大的问题是,每个bucket使用相同的LinkedList。您需要在其中一个for循环的每次迭代中创建一个新的LinkedList。

我还没有谈到排序部分。我意识到我犯了一个错误,我需要尽可能多的存储桶,而不是对象的数量。我正在制作一个由LinkedList填充的arraylist。然后,另一个方法将循环遍历数组,并将整数放入与整数值匹配的bucket中的linkedlist。嗯,如何使其为每个bucket创建一个新的linkedlist?ArrayList bucket=new ArrayList,其中bucket中有一个linkedlist和bucket编号。为什么是LinkedList?它最终需要能够处理对象?我不是专家我只是同意了?哈
for(int i=0; i<entries.length; i++){
    int j = entries[i];
    column.add(0, j);
    row.set(j, column);
}