下面是链表建立的示例:#include<stdio.h>
#include<stdlib.h>
//************
//定义链表节点
//************
struct Node{
int id; //id为学号,Score为成绩
int Score; //id,Score为数据区
struct Node * next; //指针next,指向下一个节点,故类型为Node *
};
//************
//定义链表头
//************
Node *Head;
int main(){
Node *temp;
Node *p1;
Head=(Node *)malloc(sizeof(Node));
if(Head!=NULL){ //检查是否申请空间成功
Head->next=NULL; //只有头节点,故此时指向空NULL
//id,Score均不赋值,一般头节点不用于存储数据
}
printf("现在创建含4带个节点的链表:\n");
for(int i=0;i<4;i++){
//************
//新建一个节点并赋值
//************
temp=(Node *)malloc(sizeof(Node));
if(temp!=NULL){ //检查是否申请空间成功
temp->next=NULL;
printf("请输入id与Score:\n");
scanf("%d %d",&temp->id,&temp->Score);
}
//************
//将节点添加到链表末尾
//************
p1=Head;
while(p1->next!=NULL)
{
p1=p1->next; //找到链表的末尾
}
p1->next=temp; //将节添加到链表的末尾
}
printf("现在输出链表中的4个节点:\n");
//************
//输出链表
//************
p1=Head->next;
while(p1!=NULL){
printf("id为%d,成绩为%d\n",p1->id,p1->Score);
p1=p1->next;
}
return 0;
}
|