Java 您如何实施;加上「;单链表的方法?
下面是类标题及其字段:Java 您如何实施;加上「;单链表的方法?,java,Java,下面是类标题及其字段: public class SinglyLinkedList <E> implements MiniList <E> { protected Entry <E> head = null; private int size = 0; 所以这个问题非常简单,我对非随机访问数据结构非常陌生。有人能帮我解决上面的问题吗?我需要一个基本的基础,所以我可以继续实验室的其余部分。< /P> < P>我假设Advices方法将元素添加
public class SinglyLinkedList <E> implements MiniList <E>
{
protected Entry <E> head = null;
private int size = 0;
所以这个问题非常简单,我对非随机访问数据结构非常陌生。有人能帮我解决上面的问题吗?我需要一个基本的基础,所以我可以继续实验室的其余部分。< /P> < P>我假设Advices方法将元素添加到列表中?你试过什么 您必须处理两种情况:
考虑在这两种情况下需要做什么。最初,您的头成员数据设置为空。如果这是一个需求(而不是最初分配),则需要在add()方法中检查它,并在必要时分配它:
if ( head == null )
{
head = new Entry<E>();
head.element = element;
}
if(head==null)
{
head=新条目();
head.element=元素;
}
如果head不为null,则必须分配一个新条目,并允许现有数据通过新数据引用而保留为列表的一部分:
else
{
Entry<E> new_entry = new Entry<E>();
new_entry.element = element;
new_entry.next = head;
head = new_entry;
}
else
{
Entry new_Entry=新条目();
new_entry.element=元素;
new_entry.next=头部;
head=新的_条目;
}
链接列表的工作原理如下:
你有一个头部节点,这有一个对下一个节点的引用,这有一个对下一个节点的引用,等等。这是我刚才画的一个图:
头部有对以下节点的引用,但其中也有数据。如果我创建一个字符串的链表
LinkedList<String> groceryList = new LinkedList<String>();
groceryList.add("VEGGIES");
groceryList.add("FRUITS");
这将给我们最后一个条目。然后为了添加另一个元素,我们只需将最后一个对象的引用设置为要添加的条目
这就是它工作原理的要点。现在,您只需根据“Entry”对象的内容来实现它。您只是将任务交给了我们,而没有要求解决您的问题?也许尝试一下,如果你失败了,问一个关于失败尝试的具体问题?(编辑:这条评论发表后,这个问题被天真地编辑了一下)。这看起来是错误的。只是说说而已。如果列表是空的,这是对的。在线单链表有很多例子可以帮助你建立一个坚实的基础。甚至在Java中,也有几个会跳到搜索结果的顶部。试试看,把你的进展公布出来。让我们知道你有什么特别的问题,你可能会得到更多的支持。else条款是错误的。我不确定你会如何假设E,一个泛型类型,有一个元素属性。E没有元素属性。是的。条目不是E。尽管再次查看它,但它确实需要修改。必须为新数据分配一个新条目()。这就是我不使用编译器所得到的。@VisionarySoftwareSolutions现在可以工作了。
LinkedList<String> groceryList = new LinkedList<String>();
groceryList.add("VEGGIES");
groceryList.add("FRUITS");
//Some Pseudo Code
Entry current = head;
Entry last = null;
while(Not Done Looping)
{
Entry temp = current.getNext();
if(temp is not null) //We have a reference to another element
{
//We have more list to see
current = temp;
}
else
last = current;
}