永发信息网

数据结构链表的问题

答案:1  悬赏:0  手机版
解决时间 2021-05-09 14:42
  • 提问者网友:愿为果
  • 2021-05-08 19:53

#include <stdio.h>
#include <malloc.h>
typedef struct LNode
{
int data;
struct LNode *next;

}LNode ,*LinkList;
//初始化链表
void Init(LinkList L)
{
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
if(!L)
printf("动态分配失败");
else
printf("分配成功!\n");
}
void Input(LinkList L)
{
int i=5;
int j=0;
LinkList p;

L->next=(LinkList)malloc(11*sizeof(LNode));
p=L;
while(j<i)
{
p=p->next;

scanf("%d",&(p->data));

j++;

}

}
void OutPut(LinkList L)
{
LinkList p; int j,i=5;
p=L;j=0;
while(j<i)
{
p=p->next;
printf("%d",&(p->data));
j++;
}
}

void main()
{


LinkList a;
Init(a);
Input(a);



}
这段代码 不知道如何输入元素就有错误.我的想法是 控制输入的个数 n 然后输入几个元素进去 然后调用函数 实现功能 更加人性化的提示...高手 谁能帮我改下啊.

最佳答案
  • 五星知识达人网友:蕴藏春秋
  • 2021-05-08 21:21
#include <stdio.h>
#include <malloc.h>
typedef struct LNode
{
int data;
struct LNode *next;

}LNode ,*LinkList;
//初始化链表
void Init(LinkList* L) // 这里要传地址或者引用,否则malloc的是形参L,而不是main里的a
{
*L=(LinkList)malloc(sizeof(LNode));
(*L)->next=NULL;
if(!L)
printf("动态分配失败");
else
printf("分配成功!\n");
}

void Input(LinkList L)
{
int i=5;
int j=0;
LinkList p;
p=L;
while(j<i)
{
p->next = (LinkList)malloc(sizeof(LNode));
p = p->next;
p->next = NULL;
scanf("%d",&(p->data));
j++;
}
}

void OutPut(LinkList L)
{
LinkList p; int j,i=5;
p=L;j=0;
while(j<i)
{
p=p->next;
printf("%d ", p->data);
j++;
}
}

void main()
{

LinkList a;
Init(&a);
Input(a);
OutPut( a );
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯