c++数据结构双向链表的问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 10:11:14
#include "stdafx.h"
#include<iostream.h>
#define elemtype int
class dulink
{
public:
elemtype data;
dulink *next,*prior;
};
class dulinklist
{protected:
dulink *head;
public:
//头插法建立带头结点的双向链表
dulink *hcreat()
{dulink *p,*s;
elemtype i;
cout<<"输入多个节点数值(用空格分隔),为0时算法结束";
cin>>i;
p=new dulink;
p->prior=NULL;
p->next=NULL;
while(i) //当输入数据不为0时,循环建双向链表
{
s=new dulink;
s->data=i;
s->next=p->next;
p->next->prior=s;
s->prior=p;
p->next=s;
cin>>i; }
return p;
}
//输出双向列表
void print(dulink *head)
{
dulink *p;
p=head->next;
while(p->next!=NULL)
{
cout<<p->data<<" ";
p=p->next;
}

}
};
void main()
{ dulink

你错了两个地方。。我帮你改了,你再仔细看看吧。。记得多加分啊。呵呵
#include "stdio.h"
#include<iostream.h>
#define elemtype int
class dulink
{
public:
elemtype data;
dulink *next,*prior;
};
class dulinklist
{
protected:
dulink *head;
public:
//头插法建立带头结点的双向链表
dulink *hcreat()
{
dulink *p,*s;
elemtype i;
cout<<"输入多个节点数值(用空格分隔),为0时算法结束";
cin>>i;
p=new dulink;
p->prior=NULL;
p->next=NULL;
while(i) //当输入数据不为0时,循环建双向链表
{
s=new dulink;
s->data=i;
s->next=p->next;
if(s->next)
s->next->prior=s;
s->prior=p;
p->next=s;
cin>>i;
}
return p;
}
//输出双向列表
void print(dulink *head)
{
dulink *p;
p=head->next;
while(p!=NULL)
{
cout