我正在使用鏈接列表。我正在嘗試創建一個循環鏈表,但我無法準確理解發生了什麼。我曾試圖將其映射出來,但最終我感到困惑。但我認爲我最大的問題在這裏請解釋這行代碼如何工作?
prevLoc,list,newNode和location都是鏈表節點。
這裏是我不明白的路線。 newNode鏈接設置爲空列表。 list = newNode是什麼意思?這是否意味着它是newNode的任何元素?
if(prevLoc == null)
{
newNode.setLink(list);
list = newNode;
}
以下是有關引用的排序類/添加方法的其餘部分。
public class CRefSortedList<T extends Comparable<T>>
extends CRefUnsortedList<T>
implements ListInterface<T>
{
public CRefSortedList()
{
super();
}
public void add(T element)
{
LLNode<T> prevLoc;
LLNode<T> location;
T listElement;
location = list;
prevLoc = null;
while(location != null)
{
listElement = location.getInfo();
if(listElement.compareTo(element) < 0)
{
prevLoc = location;
location = location.getLink();
}
else
{
break;
}
}
LLNode<T> newNode = new LLNode<T>(element);
if(prevLoc == null)
{
newNode.setLink(list);
list = newNode;
}
else
{
newNode.setLink(location);
prevLoc.setLink(newNode);
}
numElements++;
}
}
嗯,我不確定這本書。而我的教授的「教學」則是讓我們直接從書中輸入代碼,而不是真正解釋或回顧發生的事情。因此我已經轉向堆棧溢出以獲得關於它的意義的一些指導 – twjohns29 2014-11-05 23:09:26