我想創建一個項目的鏈接列表,它似乎被添加到列表,因爲我添加了三個,並且長度表示它有3個項目在列表中。鏈接列表添加和刪除功能
如何過我的刪除功能不工作我試圖從其中有三個項目列表中刪除列表中的特定項目,但它只是返回false並不會從名單
public void tableInsert (T newItem) throws TableException {
if (head == null)
head = new Node(newItem);
else {
Node tmp = head;
while (tmp.getNext() != null)
tmp = tmp.getNext();
tmp.setNext(new Node(newItem));
}
}
刪除項目
這是刪除功能
public boolean tableDelete (KT searchKey) {
if (head.getItem() == searchKey) {
head = head.getNext();
return true;
}
Node current = head.getNext();
Node prev = head;
while (current!= null) {
if (current.getItem() == searchKey){
prev.setNext(current.getNext());
return true;
}
prev = current;
current = current.getNext();
}
return false;
}
嘗試調試您的代碼。 – Taylor
第一步是正確縮進代碼。甚至似乎還有一些缺失的大括號。 – Keppil
@NPE建議的'equals'事似乎是最好的選擇。我的第二個猜測是忘記在'Node'構造函數中設置項目。 – creichen