创建动态连链表就是将一个个节点连接起来
(1)动态生成节点
(2)输入节点数据
(3)将节点链在一起
例:
typedef struct Data
{
char num[20];
char name[10];
char sex;
float english;
float chinese;
float math;
};
typedef struct Node
{
struct Data data;//结构体类型//结构体嵌套
struct Node* next;//结构体指针型
}node,*Pnode;
Pnode phead=NULL;
Pnode ptail=NULL;
//创建结点
Pnode creat_node(int COUNT)
{
int i=0;
Pnode pnew=NULL;
for(i=0;i<COUNT;i++) //COUNT为节点数
{
pnew=(Pnode)malloc(sizeof(node));//创建一个新节点
printf("请输入第%d个学生的信息:\n",(i+1));
printf("学号:\n");
scanf("%s",pnew->data.num);
printf("姓名:\n");
scanf("%s",pnew->data.name);
printf("性别:\n");
scanf("\n%c",&pnew->data.sex);
printf("英语:\n");
scanf("%f",&pnew->data.english);
printf("语文:\n");
scanf("%f",&pnew->data.chinese);
printf("数学:\n");
scanf("%f",&pnew->data.math);
if(ptail)
{
ptail->next=pnew;//第一个以后的结点
ptail=pnew;
}
else
{
phead=ptail=pnew;//第一个节点
}
pnew->next=NULL;
}
return phead;
}