我想弄清楚下面的代碼來實現鏈接列表的push_back
函數,但我不太清楚爲什麼我們需要back_ptr->next
和back_ptr
都指向p
。我相信back_ptr->next
可能只是指向NULL
它的工作,是否有任何優勢實施它,因此我失蹤?需要鏈接列表推回操作中的'返回指針'
void LinkedList::push_back(int element) {
Node *p = new Node;
p->element = elememt;
p->next = 0;
if (empty()) {
front_ptr = back_ptr = p;
} else {
back_ptr->next = p;
back_ptr = p;
}
}
以下是LinkedList
類的原型。 back_ptr
被用於指向實現複製構造函數的列表的末尾(push_back
使複製列表變得容易很多)。
class LinkedList {
void push_back(int element);
// other member functions
private:
struct Node {
Node *next;
int element;
};
Node *front_ptr;
Node *back_ptr;
};
的可能的複製[鏈表推回的成員函數的實現](http://stackoverflow.com/questions/39606977/linked- list-pushback-member-function-implementation) –