急!!急!!!关于数据结构的双向链表问题 高手请帮忙 ……

数据结构类型如下:structinformation{stringname;stringstreet;stringcity;longinteip;stringstate;... 数据结构类型如下:

struct information
{string name;
string street;
string city;
long int eip;
string state;
};

typedef struct doublelink
{struct information data;
struct doublelink *Llink,*Rlink;
}dlink;

要求:建立这样一个双链表 并输出。

我写的程序如下:
#include<iostream>
#include<malloc.h>
#include<string>
using namespace std;

struct information
{string name;
string street;
string city;
long int eip;
string state;
};

typedef struct doublelink //定义
{struct information data;
struct doublelink *Llink,*Rlink;
}dlink;

dlink *creatlist(int n) //创建
{
int k;
dlink *head,*r,*p;
p=(dlink*)malloc(sizeof(dlink));
head=p;
p->Rlink=NULL;
r=p;
for(k=1;k<=n;k++)
{

p=(dlink*)malloc(sizeof(dlink));
cin>>p->data.name>>p->data.street>>p->data.city>>p->data.eip>>p->data.state;
p->Rlink=NULL;
p->Llink=r;
r->Rlink=p;
r=p;
}
return head;
}

void output(dlink *h) // 输出
{dlink *p;
p=h->Rlink;
while(p)
{ cout<<p->data.name<<" "<<p->data.street<<" "<<p->data.city<<" "<<p->data.eip<<" "<<p->data.state<<endl;
p=p->Rlink;
}
cout<<endl;
}

void main()

{dlink *head;
int n;
cout<<"请输入链表的长度:"<<endl;
cin>>n;
cout<<"请输入链表中的元素:"<<endl;
head=creatlist(n);
cout<<"输出链表中的元素:"<<endl;

output(head);

}
我的问题是,上面的程序我编译的时候 没错误 但运行的时候 不能运行 请高手 帮忙看看问题出现在什么地方 。或者帮我重新写一个程序 多谢多谢了
展开
 我来答
jayhou1986
2011-01-14 · TA获得超过1511个赞
知道小有建树答主
回答量:586
采纳率:81%
帮助的人:420万
展开全部
将两处
p=(dlink*)malloc(sizeof(dlink));
改为
p=new dlink;
百度网友e7886d4
2011-01-14 · TA获得超过1502个赞
知道小有建树答主
回答量:1195
采纳率:0%
帮助的人:292万
展开全部
简单的链表和结构体定义操作,自己写吧,很容易的,自己不动手始终没长进.” 自己动手,丰衣足食“
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式