我需要将每个单词放在一个文本文件中并将它们添加到树中。 我的第一个问题是不知道如何使用Java中的文件,然后我需要能够插入单词,但如果有一个重复的单词,它会增加该单词的计数器,而不是再次插入单词。 这些是我的插入方法:
public void insert(String txt)
{
this.root = insert(root, new Node(txt));
}
private Node insert(Node parent, Node newNode)
{
if (parent == null)
{
return newNode;
}
else if (newNode.data.compareTo(parent.data) > 0)
{
parent.right = insert(parent.right, newNode);
}
else if (newNode.data.compareTo(parent.data) < 0)
{
parent.left = insert(parent.left, newNode);
}
return parent;
}
有人可以帮帮我吗?
答案 0 :(得分:0)
您可以将名为count
的实例变量添加到Node
类,以便Node
可以记住一段文字出现的次数。您需要让Node
构造函数将count
设置为1
。
然后,你可以做这样的事情(参见粗体部分,了解不同的做法):
public void insert(String txt)
{
root = insert(root, new Node(txt));
}
private Node insert(Node parent, Node newNode)
{
if (parent == null)
{
return newNode;
}
final int comparison = newNode.data.compareTo(parent.data)
if (comparison > 0)
{
parent.right = insert(parent.right, newNode);
}
else if (comparison < 0)
{
parent.left = insert(parent.left, newNode);
}
else { // If the new text matches the text of this node.
parent.count++;
}
return parent;
}