簡體   English   中英

鏈表 addLast 方法

[英]Linked list addLast method

如何在 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();

我意識到這是一項學校作業,因此在不給出答案的情況下,請遵循以下步驟:

  1. 檢查列表是否為空
  2. 如果列表為空,則設置 head + tail 指向同一個節點
  3. 遍歷所有元素
  4. 將尾部更新到新節點

此外,您上面的 addFirst 方法也無法正常工作,您會不斷地重置尾部的值。

您的問題似乎在最后一行。 你要

tail = v;

不是

v = tail;

此外,您有

tail = link

作為 addFirst 方法的最后一行 - 目前尚不清楚您為什么要這樣做。 在添加到前面時,您不需要更新列表的尾部。

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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM