3
我正在嘗試編寫一個方法,用於在恆定時間內添加單個鏈表的末尾。我不知道如何在常量時間內指定列表中最後一個節點的指針。這種方法在0(n)的運行:在恆定時間內添加在單向鏈表的末尾
public void insertEnd(Object obj) {
if (head == null) {
head = new SListNode(obj);
} else {
SListNode node = head;
while (node.next != null) {
node = node.next;
}
node.next = new SListNode(obj);
}
size++;
}
這是我的新方法的開端:
public void addLast(SListNode obj){
//if the list is empty, the new element is head and tail
if(tail == null){
obj.next = null;
head = tail = obj;
}else{ -----> here I'm confused
}
}
這是我SLIST類:
public class SList {
private SListNode head;
private SListNode tail;
private int size;
public SList() {
size = 0;
head = null;
tail = null;
}
列表的末尾也許作爲存儲領域中的類? –
我做到了,但是如何將它分配給最後一個元素? – Dodi
@Frugo,'tail.next = obj;' – BLuFeNiX