0
我正在創建一個模板雙向鏈表(僅供練習)。加倍鏈接列表C++
我有2個班,ListClass &結點類別
template < class T >
class ListClass
{
private:
NodeClass <T> *head;
NodeClass <T> *tail;
public:
//some member functions
//my question will deal with the member function called insert(const T &val2Ins
};
template < class T >
class NodeClass
{
private:
data;
NodeClass *next;
NodeClass *prev;
public:
//some member functions (getter functions mostly)
};
我試圖向右插入(常量牛逼& val2Ins)爲ListClass功能。該功能應該具有一定的價值,並按升序「排序」。頭指向第一個節點,它保持最小的值。所以從熱到尾是按升序排列的。
我有一個很難與這些指針工作,並找出如何實際執行鏈接。將節點插入到空列表中並不重要,但是一旦列表被填充,我不知道如何執行指針的鏈接。有人能給我一些建議嗎?
謝謝,可惜我不能用「朋友」(按我的指令)。 – nm17
NodeClass的功能包括:1)NodeClass(NodeClass * inPrev,const T&inVal,NodeClass * inNext)構造函數,該函數獲取前一個指針,下一個指針,值,並將它們分配給當前節點。 2)T getVal()3)NodeClass * getNextPtr()4)NodeClass * getPrevPtr()5)void setNextPtr2Null()6)void setPrevPtrToNull()7)void setBeforeAndAfterPtrs() – nm17
我有一個問題是你有以下節點* next = head;接下來是while(next)。我的問題是這個函數在插入列表的第一個元素後被調用,但是當我插入這個值時,我也將這個第一個節點的prev&next指針設置爲NULL,這意味着頭指向的節點不指向任何東西。所以不會while(head)= while(false)= while(temp)? – nm17