急!!急!!!关于数据结构的双向链表问题 高手请帮忙 ……
数据结构类型如下: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);
}
我的问题是,上面的程序我编译的时候 没错误 但运行的时候 不能运行 请高手 帮忙看看问题出现在什么地方 。或者帮我重新写一个程序 多谢多谢了 展开
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);
}
我的问题是,上面的程序我编译的时候 没错误 但运行的时候 不能运行 请高手 帮忙看看问题出现在什么地方 。或者帮我重新写一个程序 多谢多谢了 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询