gpt4 book ai didi

java - 实现 treeSort() 的问题

转载 作者:太空宇宙 更新时间:2023-11-04 08:37:22 25 4
gpt4 key购买 nike

所以,我的医生要求我实现 treeSort(),然后在 int[1000000] 上测试它并计算时间。

我有课BSTree<E>其中包含以下方法:

public void treeSort(E[] data)
{
inorder(data, new Process<E>(), root);
}

public static <E> void inorder(E[] list, Process<E> proc, BTNode<E> p)
{
if (p != null)
{
inorder(list, proc, p.getLeft( )); // Traverse its left subtree
proc.append(list, p.getElement( )); // Process the node
inorder(list, proc, p.getRight( )); // Traverse its right subtree
}
}

我有Process<E>类:

public class Process<E>
{
private int counter = 0;
public void append(E[] list, E element)
{
list[counter] = element;
counter++;
}
}

我有以下Main类:

public class Main
{
public static void main(String[] args)
{
int[] temp = {4,2,6,4,5,2,9,7,11,0,-1,4,-5};
treeSort(temp);
for(int s : temp) System.out.println(s);
}

public static void treeSort(int[] data)
{
BSTree<Integer> tree = new BSTree<Integer>();
for(int i: data) tree.insert(i);
tree.inorder(data, new Process<Integer>(), tree.getRoot()); // I get an error here!
}
}

错误是:

cannot find symbol - method inorder(int[], Process<java.lang.Integer>, BTNode<java.lang.Integer>); maybe you meant: inorder(E[], Process<E>, BTNode<E>);

我通过更改 treeSort(int[] data) 解决了这个问题至treeSort(Integer[] data) 。但是我在 treeSort(temp); 的 main 方法中遇到了错误

错误是:

treeSort(java.lang.Integer) in Main cannot be applied to (int[])

那么,我该如何处理这个问题,同时考虑到不增加复杂性时间,我应该在 100 万个输入上尝试此方法?

最佳答案

整数[]temp = {4,2,6,4,5,2,9,7,11,0,-1,4,-5};

编辑:用它来修复第二个错误。

关于java - 实现 treeSort() 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6058849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com