frontSentinel
和一个rearSentinel
来指向第一个和最后一个节点。
我的类Node构造函数:
template <class Element>
Node<Element>::Node(Element e){
this->next = nullptr;
this->prev= nullptr;
this->element = e;
}
我的插入:
template <class Element>
void LinkedDeque<Element>::insertFront(const Element & element){
Node<Element> *new_node = new Node<Element> (element);
if(isEmpty()){
new_node->setNext(rearSentinel);
new_node->setPrevious(frontSentinel);
cout <<new_node->getNext()->getElement()<< endl;
rearSentinel->setPrevious(new_node);
frontSentinel->setNext(new_node);
}else{
new_node->setNext(frontSentinel->getNext());
new_node->getPrevious(frontSentinel);
frontSentinel->setNext(new_node);
}
num_elements++;
}
还有我的setPrevious
和setNext
实施:
template <class Element>
void Node<Element>::setNext(Node<Element>* next){
this->next = next;
}
template <class Element>
void Node<Element>::setPrevious(Node<Element>* prev){
this->prev = prev;
}
当我尝试打印new_node下一个节点时,似乎编译器给了我一些内存位置。