[英]How can I add elements to a LinkedList from a different class that the LinkedList is initialized in?
[英]How can I add a linkedlist to a trie leaf?
我在 java 中有一个字典项目。它将单词添加到特里树中,然后我需要在我输入的每个单词的末尾添加一个链表以保存含义。 我为特里树和链表制作了两种节点,如下所示。
static class TrieNode{
TrieNode[]children=new TrieNode[29];
boolean IsEnd;
TrieNode(){
IsEnd=false;
for(int i=0;i<29;i++)
children[i]=null;
}
}
static class Meaningnode{
String Meaning;
Meaningnode next;
public Meaningnode(String Meaning){
this.Meaning=Meaning;
}
}
26 个字母的 29 个链接和一个指向父级和空格 ' ' 的链接和一个指向列表的链接;
在您对 29 个条目的解释中,您写道:
26 个字母的 29 个链接,一个指向父级和空格的链接 ' ' 和一个指向列表的链接;
这里的问题是“列表中的一个”将违反预期的类型。 声明是:
TrieNode[]children=new TrieNode[29];
但是您想为一个Meaningnode
而不是TrieNode
使用一个条目。 那是不对的。 相反,只需为此目的专用一个单独的属性,就像您已经为isEnd
拥有一个单独的属性一样。 我什至也会为父母单独输入一个条目(如果你真的需要父母参考)。
最后,为Meaningnode
添加一个构造函数,它可以接受第二个参数来指定next
:
static class Meaningnode {
String Meaning;
Meaningnode next;
public Meaningnode(String Meaning) {
this.Meaning = Meaning;
}
public Meaningnode(String Meaning, Meaningnode next) {
this.Meaning = Meaning;
this.next = next;
}
}
static class TrieNode {
TrieNode[] children = new TrieNode[27];
boolean IsEnd;
TrieNode parent;
Meaningnode meaning;
TrieNode() {
IsEnd = false;
parent = null;
meaning = null;
for (int i = 0; i < 27; i++)
children[i] = null;
}
// Method to prepend a meaning to the list of meanings:
addMeaning(string meaning) {
this.meaning = new Meaningnode(meaning, this.meaning);
}
// Other methods...
// ...
}
static class Node{
String mean;
Node next;
Node(String s){
mean=s;
next=null;
}
}
static class TrieNode{
TrieNode[]children=new TrieNode[29];
boolean IsEnd;
Meanings_Linked_List list=new Meanings_Linked_List();
TrieNode(){
IsEnd=false;
for(int i=0;i<29;i++)
children[i]=null;
}
}
我知道它还没有完成,只是因为项目我让它变成这样并修复它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.