创建动态连链表就是将一个个节点连接起来

(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;

}