注册 登录
编程论坛 C++教室

如何在链表的头部插入新节点

V不乖O 发布于 2010-11-11 16:13, 689 次点击
程序代码:
template<class T>
void List<T>::insertAtfront(const T &value)
{
    ListNode<T> *newPtr=getNewnode(value);
    if(isEmpty())
        firstPtr=lastPtr=newPtr;
    else{
        newPtr->nextPtr=firstPtr;
        newPtr=firstPtr;
    }
      

}
为什么运行后,新值无法插入到原先第一个值之前呢?
2 回复
#2
mghxz2522010-11-11 22:46
你的链表是双向的??

如果是的话,

template<class T>
void List<T>::insertAtfront(const T &value)
{
    ListNode<T> *newPtr=getNewnode(value);
    newPtr->nextPtr=0;
    newPtr->lastPtr=0;
    if(isEmpty())
        firstPtr=newPtr;
    else{
        newPtr->nextPtr=firstPtr;
        firstPtr->lastPtr=newPtr;
        firstPtr=newPtr;
    }
      

}
#3
玩出来的代码2010-11-11 23:10
这里貌似没问题、、
1