有关数组中转换成链表

来源:百度知道 编辑:UC知道 时间:2024/05/05 08:26:19
#include<stdio.h>
#include<stdlib.h>

typedef struct node{

int data;
struct node *next;

}linknode,*link;

link Creatlist() //从数组中取数据创建一个链表
{
int i;
int a[5]={1,2,4,3,5};
link p,H,r;
H=(link)malloc(sizeof(linknode));
for(i=0;i<5;i++){

p=(link)malloc(sizeof(linknode));
p->data=a[i];
r->next=p;
r=p;

}
r->next=NULL;
return (H);
}

void print(link L){ //输出链表

while(L->next!=NULL){

printf("%d\n",L->next->data);
L=L->next;
}
}

void main(){
link H;
H=Creatlist(); //创建链表
print(H); //输出链表
}

有点问题,高手看下!

看创建函数
link Creatlist() //从数组中取数据创建一个链表
{
int i;
int a[5]={1,2,4,3,5};
link p,H,r;
H=(link)malloc(sizeof(linknode));
///////////////////////////////////////////再加上r=H;就行了

for(i=0;i<5;i++){

p=(link)malloc(sizeof(linknode));
p->data=a[i];
r->next=p;
r=p;
}
r->next=NULL;
return (H);
}