首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

数据结构单链表的建立和输出,该怎么解决

2014-04-21 
数据结构单链表的建立和输出下面是我所建立的简单的单链表,输入4个数字到结点,输出链表,但是,不能正常编译

数据结构单链表的建立和输出
下面是我所建立的简单的单链表,输入4个数字到结点,输出链表,但是,不能正常编译运行,有一部分错误,求指出错误之处,并帮我分析一下为什么错误!!!
#include<stdio.h>
#include<alloc.h>
typedef int ElemType;
typedef struct node
{
ElemType data;
struct node *link;

} LNode,*LinkList;

LinkList creat(int n)
{ LinkList p,r,list=NULL;
ElemType a;
int i;
for(i=1;i<=n;i++)
{scanf("%d",&a);
p=(LinkList)malloc(sizeof(LNode));
p->data=a;
p->link=NULL;
if(list==NULL)
list=p;
else
r->link=p;
r=p;
}
return(list);
}
void output(LinkList list)
{ LinkList p=list;
  while(p!=NULL) {
  printf("%d\n",p->data);
  p=p->link;
}
}
 void main()
{
  int n=4;
  creat(n);
  output();
}



****************************************
劳烦大家动动手,动动脑,帮我解决一下,感激不尽!!

[解决办法]
帮你改了下!
[code=C/C++][#include<stdio.h>
#include<malloc.h> //应该是malloc.h 或者是stdlib.htypedef int ElemType;
typedef struct node
{
ElemType data;
struct node *link;

} LNode,*LinkList;

LinkList creat(int n)

LinkList p,r,list=NULL;
ElemType a;
int i;
for(i=1;i<=n;i++)

scanf("%d",&a);
p=(LinkList)malloc(sizeof(LNode));
p->data=a;
p->link=NULL;
if(list==NULL)
list=p;
else
r->link=p;
r=p;
}
return(list);
}
void output(LinkList list)

LinkList p=list;
while(p!=NULL) {
printf("%d\n",p->data);
p=p->link;
}
}
void main()
{
LNode *p;
int n=4;
p=creat(n); //LinkList creat(int n),有返回值
output(p);
}
/code]
[解决办法]
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
typedef int ElemType;
typedef struct node
{
ElemType data;
struct node *link;

} LNode,*LinkList;

LinkList creat(int n)
{ LinkList p,r,L;

L=(LinkList)malloc(sizeof(LNode));
L=NULL;
r=L;
ElemType a;
int i;
for(i=1;i<=n;i++)
{ scanf("%d",&a);
p=(LinkList)malloc(sizeof(LNode));
p->data=a;
p->link=NULL;
if(L==NULL)
L=p;
else
r->link=p;
r=p;
}
return(L);
}
void output(LinkList L)
{ LinkList p=L;
while(p!=NULL)
{
printf("%d\n",p->data);
p=p->link;
}
}
 void main()
{
LinkList L; int n=4;
L=creat(n);
output(L);}

热点排行