大家帮个忙啊关于数据结构的,这个运行没错,但是有问题
#include "stdio.h"#include "conio.h" /*getch的头文件*/
/*.....................................定义单链表结构*/
typedef struct node{
int data;/*每个元素数据信息*/
struct node *next;/*存放后继元素的地址*/
} LNode ,*LinkList;
/*.....................................创建单链表*/
LinkList Creat_LinkList(void )
{/*创建空单链表,入口参数:无;返回值:单链表的头指针,0代表创建失败,非0表成功*/
int i;/*记录单链表数据个数*/
LinkList p,h,s;
h=(LinkList )malloc(sizeof(LNode));
if (h) /*确认创建头结点创建是否成功,若成功,修改单链表头结点的指针域为0表空表*/
h->next=NULL;
p=h;
for(i=0;i<10;i++){
s=(LinkList)malloc(sizeof(LNode));
if(s)
s->next=NULL;
printf("qing shu ru di %d ge shu ju:",i+1);
scanf("%d\n",&s->data);
p->next=s;
p=s;
}
return h;
}
/*......................................打印单链表*/
void Printfdanlianbiao(LinkList h){
LinkList p,pre;
p=h;
while(p){
p=p->next;
printf("->%d",p->data);
}
}
/*...........................................求单链表的长度 */
int Length_LinkList (LinkList H)
{/* 求单链表表长,入口参数:单链表头指针,出口参数:表长,-1表示
单链表不存在。*/
LinkList p=H; /* p指向头结点*/
int count= -1; /*H带头结点所以从-1开始*/
while ( p)
{ /* p所指的是第 count + 1 个结点*/
p=p->next;
count++;
} /*while */
return (count);
}
main()
{
LinkList H;
H=Creat_LinkList();
Printfdanlianbiao(H);
getch();
}