Java 使用节点的键创建一个数组
我目前有一个二叉树设置,并希望创建一个带有键的数组,以便对它们执行堆排序操作。我该怎么做呢 以下是我目前拥有的:Java 使用节点的键创建一个数组,java,arrays,tree,binary-tree,heapsort,Java,Arrays,Tree,Binary Tree,Heapsort,我目前有一个二叉树设置,并希望创建一个带有键的数组,以便对它们执行堆排序操作。我该怎么做呢 以下是我目前拥有的: public static void main(String args[]) throws IOException { BufferedReader in = new BufferedReader(new FileReader("employee.txt")); String line; Heap employee = new Heap(); whi
public static void main(String args[]) throws IOException
{
BufferedReader in = new BufferedReader(new FileReader("employee.txt"));
String line;
Heap employee = new Heap();
while((line = in.readLine())!= null)
{
String[]text = line.split(" ");
employee.insert(Double.parseDouble(text[0]), Double.parseDouble(text[1]));
}
in.close();
}
我使用的二叉树非常标准,但如果需要,我可以发布它。“text[0]”段是每个节点的键。一种可能是将类与。树集可以像堆一样运行。这门课有很好的记录,但是如果你有更多的问题,可以提问 编辑 看一看。接受的答案显示了一个二叉树的实现。您现在需要的是该类中的排序函数实现,可以在插入元素时触发,也可以在需要时手动触发
我仍然不明白如何将树转换为堆,因为它们是不同的东西。我猜你的意思是树应该从左到右“读”,然后重新排列?一种可能是将类与。树集可以像堆一样运行。这门课有很好的记录,但是如果你有更多的问题,可以提问 编辑 看一看。接受的答案显示了一个二叉树的实现。您现在需要的是该类中的排序函数实现,可以在插入元素时触发,也可以在需要时手动触发
我仍然不明白如何将树转换为堆,因为它们是不同的东西。我想你是说这棵树应该从左到右“读”,然后重新排列?我不确定我们是否可以使用它。我们应该使用二叉树,所以我想知道如何根据密钥本身创建一个数组。二叉树你必须自己实现。如果需要更多帮助,您需要指定正在使用的密钥。或者你可以考虑使用一个现成的映射实现。我已经创建了二叉树。我使用的键是insert函数中的“text[0]”。目前它是从一个文本文件中读取的,行中的第一个数字是键,第二个是数据。我不确定我们是否可以使用它。我们应该使用二叉树,所以我想知道如何根据密钥本身创建一个数组。二叉树你必须自己实现。如果需要更多帮助,您需要指定正在使用的密钥。或者你可以考虑使用一个现成的映射实现。我已经创建了二叉树。我使用的键是insert函数中的“text[0]”。目前它正在从一个文本文件中读取,行中的第一个数字是键,第二个数字是该数据。