Java桶类对象
我正在尝试编写一个bucket排序,我的计划是编写一个简单的Entry类和另一个带有main方法的类,并尝试操作一个列表数组 我的入门类节点:Java桶类对象,java,sorting,Java,Sorting,我正在尝试编写一个bucket排序,我的计划是编写一个简单的Entry类和另一个带有main方法的类,并尝试操作一个列表数组 我的入门类节点: public class Node { protected int element; protected Node next; public Node() { element = 0; next = null; } public Node getNext(Node n)
public class Node {
protected int element;
protected Node next;
public Node()
{
element = 0;
next = null;
}
public Node getNext(Node n)
{
return next;
}
public void setNext(Node n)
{
n = next;
}
public void setElement(int e)
{
e = element;
}
public int getElement()
{
return element;
}
public void insert(int e)
{
e = element;
}
}
我的桶分类:
public class BucketSort extends Node {
public void remove(int[] x)
{
x = null;
}
public static void bucketSort(int[] a)
{
int[] array = a;
Node[] buckets = new Node[array.length];
for (int i=0; i<array.length; i++)
{
buckets[i] = null;
}
for (int i=0; i<array.length; i++)
{
array.remove(array[i]);
buckets[i].insert(array[i]);
}
}
}
我确实在array.removearray[I]上得到了一个错误;还有 有几件事。当您声明节点[]已为空时,无需将其清空。此外,BucketSort不应扩展节点,例如,它应包含节点对象数组的集合。remove方法不应接受int[],而应只接受指向要删除的索引的int。以下是我对设计的快速观察: 有两个不同的类:Node,它只表示单个节点元素;next和另一个类LinkedList,它包含列表的头。现在,您可以在LinkedList类上支持添加、删除、搜索等方法 BucketSort扩展节点不可用 一个好的班级设计。你可能 想让他们保持独立和独立吗 使BucketSort足够通用,可以对任何数据类型进行排序。将排序机制保留在单独的类中,并将LinkedList传递给它 为什么要保护元素和下一个元素?您可以将它们更改为Private 因为您正在设计LinkedList API,所以坚持标准方法支持会更好、更干净 好的,有两个错误: 1-数组。removearray[i]???这是什么?数组没有方法remove,您不想从数组中删除该项,是吗?我想你可以去掉这条线
2-如果为数组中的每个元素创建一个bucket,这是一个怎样的bucket排序?在某种程度上,创建的bucket应该少于对它们进行分组的元素,对吗?错误是什么?向我们展示堆栈跟踪pleaseDown投票,因为作者删除了这个问题,并使整个线程成为我们无法看到的内容的讨论。