链接Deque中的指针插入

时间:2018-04-14 16:59:19

标签: c++ c++11 pointers

当我尝试在Linked Deque程序上交换指针时,我遇到了一些问题。我创建了一个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++;

} 

还有我的setPrevioussetNext实施:

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下一个节点时,似乎编译器给了我一些内存位置。

0 个答案:

没有答案