我看到2個YouTube視頻顯示,在年底方法,例如哪種方式最好是寫一個單向鏈表
public void insertFirstLink(String bookName, int millionsSold) {
Link newLink = new Link(bookName, millionsSold);
newLink.next = firstLink;
firstLink = newLink;
}
這看起來非常乾淨的一個附加的補充方法,但我通過另一個教程,做去這
public void insert(int x) {
if (head == null) {
head = new Node(x, head);
} else {
Node current = head;
while (current.getNext() != null) {
current = current.getNext();
}
Node newNode = new Node(x, null);
current.setNext(newNode);
}
}
爲什麼我會使用第二個,因爲它更長,遍歷列表只是爲了增加到最後。我對鏈接列表很陌生,對於爲什麼有這麼多人用不同的方式寫它,我感到困惑,我看到的每個教程都使用了不同的技巧。我主要學習這個能夠回答面試問題,所以我需要了解所有的可能性。
我也不清楚'head/current/first'節點是什麼。在教程中他提到head是第一個添加的節點,併成爲下一個添加的節點,因此最終「頭」節點是最後一個節點的權利?當他印刷他的名單時,情況正好相反。
這兩種方法做的不一樣。第一個插入新元素的第一個位置,第二個將其添加到最後。 – user14325