Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何添加到双向链表的第一个? 我试图在C++中用类做一个双向链表,但是我有一个恼人的问题,把节点添加到列表的第一个!br> 下面是节点类: class node{ public: node(int d = 0, node *p = NULL, node *n = NULL):data(d), pre(p), next(n){} void setPrevious(node *p){this->pre = p;} void setNext(node *n){this->next = n;} void setData(int d){this->data = d;} int data; node *pre, *next;_C++_Doubly Linked List - Fatal编程技术网

如何添加到双向链表的第一个? 我试图在C++中用类做一个双向链表,但是我有一个恼人的问题,把节点添加到列表的第一个!br> 下面是节点类: class node{ public: node(int d = 0, node *p = NULL, node *n = NULL):data(d), pre(p), next(n){} void setPrevious(node *p){this->pre = p;} void setNext(node *n){this->next = n;} void setData(int d){this->data = d;} int data; node *pre, *next;

如何添加到双向链表的第一个? 我试图在C++中用类做一个双向链表,但是我有一个恼人的问题,把节点添加到列表的第一个!br> 下面是节点类: class node{ public: node(int d = 0, node *p = NULL, node *n = NULL):data(d), pre(p), next(n){} void setPrevious(node *p){this->pre = p;} void setNext(node *n){this->next = n;} void setData(int d){this->data = d;} int data; node *pre, *next;,c++,doubly-linked-list,C++,Doubly Linked List,}) 以下是我如何创建第一个节点: node *head = new node(), *current = new node(), *last = new node(); cout<<msg_data; // 'd' is an Integer variable cin>>d; current->setData(d); head = new node(0, 0, current); node*head=new node(),*current=new node(),

})

以下是我如何创建第一个节点:

node *head = new node(), *current = new node(), *last = new node();
cout<<msg_data;
// 'd' is an Integer variable
cin>>d;
current->setData(d);
head = new node(0, 0, current);
node*head=new node(),*current=new node(),*last=new node();
库特;
当前->设置数据(d);
头=新节点(0,0,当前);
下面是我如何尝试将节点添加到列表的第一个:

cout<<"enter 'data' for list: ";
// 'd' is an Integer variable
cin>>d;
node *tmp = new node(d, 0, head);
head = tmp;
coutd;
node*tmp=新节点(d,0,head);
水头=tmp;
当我要将节点添加到第一个节点时,它会在值之后为“数据”添加一个“0”!例如,我想将“21”添加到列表的第一个位置,但它会将21和0添加到列表中

两个观察结果:

查看创建第一个节点的代码,它创建的不是一个节点,而是四个节点。看来你完全误解了什么。在纸上画出清单应该是什么样子,你就会明白了

向列表的第一个添加额外节点的代码似乎没有问题。

请学习如何创建新节点。然后更新您的问题,将MCVE包含在问题主体中。如果链接消失或过时,您的问题将变得毫无价值。当编辑您的问题以包含MCVE时,也请包含更好的问题描述,比如告诉我们它是如何工作的,如果您遇到构建错误、运行时崩溃、意外结果等。详细信息越多越好。