链表的插入

题目描述

 

输入若干个学生的信息(学号、姓名、成绩),输入学号为0时结束,用单向链表组织这些学生的信息后,再按成绩由低到高顺序输出。

输入要求

每行输入若干个学生的信息(学号、姓名、成绩),学号和成绩为整数,姓名为长度不超过10的字符串。

输入学号为0时结束。

 

输出要求

按成绩由低到高输出所有学生的信息(如果成绩相同,按输入的次序输出)。

假如输入

1 zhang 78
2 wang 80
3 Li 75
4 zhao 85
0

应当输出

3 Li 75
1 zhang 78
2 wang 80
4 zhao 85
 1 import java.util.Scanner;
 2 
 3 public class Main 
 4 {
 5     public static void main(String args[])
 6     {
 7         Scanner scan = new Scanner(System.in);
 8         int i=0,j=0,k=0;
 9         Date date[]=new Date[20];
10         for(i=0;i)
11         {
12              date[i]=new Date();
13         }
14         for(i=0;i)
15         {
16             date[i].number=scan.nextInt();
17             if(date[i].number==0)
18                 break;
19             date[i].name=scan.next();
20             date[i].record=scan.nextInt();
21         }
22         for(j=0;j)
23         {
24             for(k=0;k)
25                 {
26                     if(date[j].record==date[k].record)
27                     {
28                         if(date[j].number<date[k].number)
29                         {
30                             Date t;
31                             t=date[j];
32                             date[j]=date[k];
33                             date[k]=t;
34                         }
35                     }
36                     else if(date[j].record<date[k].record)
37                     {
38                     Date temp;
39                     temp=date[j];
40                     date[j]=date[k];
41                     date[k]=temp;
42                     }
43                     
44                 }
45         }
46         for(j=0;j)
47         System.out.println(date[j].number+" "+date[j].name+" "+date[j].record);
48                 
49     }
50 }
51     class Date{
52         int number;
53         String name;
54         int record;
55     }

 

你可能感兴趣的:(链表的插入)