建立学生链表【链表】

来源:互联网 发布:linux延时函数头文件 编辑:程序博客网 时间:2024/04/29 12:15
建立学生信息链表(student.cpp)


题目描述
给出n个学生的姓名和年级,请建立一个学生信息的链表。并将链表中各元素依次输出。


输入
第一行:一个整数n


接下来n行,每行一个学生的名字和年龄。


输出
输出:


n行,每行包括学生的姓名和年龄。


样例输入
3
wuzhenghao 18
liudeyu 20
liuying 19


样例输出
wuzhenghao 18
liudeyu 20
liuying 19


提示

要求建立学生链表。

       这道题在考验我们的自觉。。。不过用链表试试也无妨,链表就是通过指针将许多的变量(也可以是结构体)连接起来,每一个指向下一个,可以完成排序!不过难度挺大,需要注意以下几点:

1.需要一个next指针链接下一个

2.需要head指针指向开始

3.需要now指针指向正在处理的结构体

4.需要t指针完成与now的交替

差不多就是这些了,代码实现也比较容易

[cpp] view plain copy
 print?
  1. #include<cstdio>  
  2. struct stu  
  3. {  
  4.     char name[205];  
  5.     int age;  
  6.     stu *next;  
  7. };  
  8. int n;  
  9. int main()  
  10. {  
  11.     //freopen("student.in","r",stdin);  
  12.     //freopen("student.out","w",stdout);  
  13.     scanf("%d",&n);  
  14.     stu *head=new stu;  
  15.     scanf("%s %d",head->name,&head->age);  
  16.     head->next=NULL;  
  17.     stu *now=head;  
  18.     for(int i=2;i<=n;i++)  
  19.     {  
  20.         stu *t=new stu;  
  21.         scanf("%s %d",t->name,&t->age);  
  22.         t->next=NULL;  
  23.         now->next=t;  
  24.         now=t;  
  25.     }  
  26.     for(now=head;now!=NULL;now=now->next)  
  27.     {  
  28.         printf("%s %d\n",now->name,now->age);  
  29.     }  
  30. }
3 0
原创粉丝点击