链接列表addLast方法

时间:2011-05-29 01:04:54

标签: java linked-list add

如何在Java中构建addLast方法?我已经知道LinkedList有一个内置的方法可以做到这一点)

这是我尝试过的:

public void addFirst(int d1, double d2) { 
    Link link = new Link(d1, d2); 
    link.nextLink = first; 
    first = link;
        }
public void addLast(int d1 , double d2){
    Link v = new Link(d1, d2);
    v.nextLink = null;
    tail.nextLink = v;
   tail = v  

}

    public void printList() { 
    Link currentLink = first; 
    System.out.print("List: "); 
    while(currentLink != null) { 
    currentLink.printlink(); 
    currentLink = currentLink.nextLink; 
    } 
        System.out.println(""); 
}

我的addFirst方法有效,但我不知道如何连接它们。

主要:

    LinkList list = new LinkList();  
         list.addFirst(4, 4.04); 
         list.addFirst(5, 5.05); 
         list.addlast(3,4.5);
         list.printList();

3 个答案:

答案 0 :(得分:3)

我意识到这是一项学校作业,所以如果没有给出答案,请遵循以下步骤:

  1. 检查列表是否为空
  2. 如果list为空,则将head + tail设置为指向同一节点
  3. 迭代所有元素
  4. 将尾部更新到新节点
  5. 此外,上面的addFirst方法无法正常工作,您不断重置尾部的值。

答案 1 :(得分:1)

您的问题似乎在最后一行。你想要

tail = v;

v = tail;

此外,你有

tail = link

作为addFirst方法的最后一行 - 不清楚为什么要这样做。在添加到前面时,您不需要更新列表的尾部。

答案 2 :(得分:0)

public void addLast(int d1, double d2){

    Node node = new Node(d1, d2);
    Node temp = first;
    while(temp.next!= null) {
        temp = temp.next;
    }
    temp.next = node;
}