1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > python列表输出学生姓名学号链表_1. 建立一个学生信息的循环链表 每个节点里面包含

python列表输出学生姓名学号链表_1. 建立一个学生信息的循环链表 每个节点里面包含

时间:2022-04-27 07:29:52

相关推荐

python列表输出学生姓名学号链表_1. 建立一个学生信息的循环链表 每个节点里面包含

-12-10 回答

下面是源代码

#include<stdio.h>

#include<malloc.h>

#define size sizeof(struct student)

struct student //定义每个节点的信息结构体

{

long number; //学号

char name[20]; //姓名

char home[50]; //籍贯

struct student *next;

}*head; //定义循环链表的表头指针

int main()

{

struct student *front=null,*later=null;

head=(struct student *)malloc(size); //申请第一个结点

front=head;

scanf("%ld %s %s",&head->number,head->name,head->home);

//输入第一个学生信息,以空格隔开三样信息

for( ; front->number!=0 ; ) //以number=0为输入结束的标志

{

front->next=(struct student *)malloc(size);

later=front;

front=front->next;

//使得front指向最新的结点,later指向最新结点的前面一个结点

scanf("%ld %s %s",&front->number,front->name,front->home);

}

later->next=head;

//上面的语句就已经把最后的number=0的无用结点舍去

//用最后一个学生数据的节点连接到头节点处形成循环链表

//下面进行遍历输出链表数据,front这个指针用来进行向下读取

printf("\n\n%ld %s %s\n",head->number,head->name,head->home);

for(front=head->next ; front!=head ; front=front->next)

printf("%ld %s %s\n",front->number,front->name,front->home);

//下面两句是用来停留屏幕观察结果的

getchar(); getchar();

return 0;

}

测试用例:

1 a aaa

2 b bbb

3 c ccc

0 d ddd

结果:

1 a aaa

2 b bbb

3 c ccc

希望能帮到你。如有疑问,欢迎垂询~

python列表输出学生姓名学号链表_1. 建立一个学生信息的循环链表 每个节点里面包含了学生学号 姓名 籍贯三个信息。通过遍历 输出链表...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。