我正在研究二进制搜索树数据结构,我在尝试比较两个字符串节点时遇到了问题。这是我的代码,在第18行,我想比较根节点和另一个字符串节点。
nodeToAdd.word < node.word //this is how i want to compare the nodes
我知道在比较字符串时你不能使用<
或>
,而是使用compareTo()
或equals()
。在比较节点的情况下,如何比较两个节点以查看哪个节点按字母顺序更高或更低?
public class binarytree implements WordStore {
Node root;
public void add(String word) {
Node nodeToAdd = new Node(word);
if (root == null) {
// if there's no root, then the node becomes root
root = nodeToAdd;
}
traverseAdd(root, nodeToAdd);
}
private void traverseAdd(Node node, Node nodeToAdd) {
if (nodeToAdd.word < node.word)) {
if (node.leftChild == null) {
node.leftChild = nodeToAdd;
} else {
traverseAdd(node.leftChild, nodeToAdd);
}
//more code not relevant....
}