我的插入方法应该让 P 作为第一个值 (0) 和 15 作为链接列表的最后一个值。虽然,当我打印出我的列表时,我必须通过 p->succ 而不是 p-prev 来打印出项目,它会打印出 15, 14, 13....;这是正确的吗?还是我执行我的功能错了?
class Node{
public:
int value;
Node *succ;
Node *prev;
Node(int val, Node *s=NULL, Node *p=NULL)
:value(val),succ(s),prev(p){}
Node *insert(Node *p,Node *n)
{
if(n==NULL)
return p;
if(p==NULL)
return n;
n->succ=p;
if(p->prev)
p->prev->succ=n;
n->prev=p->prev;
p->prev=n;
return n;
}
int main(int argc, char *argv[]) {
Node *p= NULL;
for(int i = 0; i<=15; i++){
p = insert(p, new Node(i));
}
while(p){
cout<<p->value;
head=p->succ;
}