Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java桶类对象_Java_Sorting - Fatal编程技术网

Java桶类对象

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)

我正在尝试编写一个bucket排序,我的计划是编写一个简单的Entry类和另一个带有main方法的类,并尝试操作一个列表数组

我的入门类节点:

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投票,因为作者删除了这个问题,并使整个线程成为我们无法看到的内容的讨论。