0
我想创建一个函数,将insert a node to the back of the list using linked list
。我是新来的使用链表,我已经尝试了许多不同的方式在列表的末尾做插入,但似乎没有任何工作。 main
传递值one at a time
以插入2 4 5 8 9
,输出为2 0 0 0 0
。我不是什么导致这个问题。C++链接列表返回
.H
class Node
{
public:
Node() : data(0), ptrToNext(NULL) {}
Node(int theData, Node *newPtrToNext) : data(theData), ptrToNext(newPtrToNext){}
Node* getPtrToNext() const { return ptrToNext; }
int getData() const { return data; }
void setData(int theData) { data = theData; }
void setPtrToNext(Node *newPtrToNext) { ptrToNext = newPtrToNext; }
~Node(){}
private:
int data;
Node *ptrToNext; //pointer that points to next node
};
class AnyList
{
public:
AnyList();
//default constructor
void print() const;
//Prints all values in the list.
void destroyList();
//Destroys all nodes in the list.
~AnyList();
//destructor
int getNumOfItems();
void insertBack(int b);
void deleteFirstNode();
private:
Node *ptrToFirst; //pointer to point to the first node in the list
int count; //keeps track of number of nodes in the list
};
的.cpp
void AnyList::insertBack(int b)
{
Node *temp = new Node;
if (ptrToFirst == NULL)
{
temp->setData(b);
ptrToFirst = temp;
}
else
{
Node *first = ptrToFirst;
while (first->getPtrToNext() != NULL)
{
first = first->getPtrToNext();
}
first->setPtrToNext(temp);
}
}
我注意到你从来没有在您发布的代码初始化ptrToFirst为NULL。这将大大影响if(ptrToFirst == NULL)的逻辑,同时你也在它的初始化计数 – Diniden 2015-02-17 22:57:15
这里是我的构造函数AnyList :: AnyList() \t ptrToFirst = NULL; \t count = 0; “我忘了把它插入帖子中。 – Nignig 2015-02-17 23:04:59