⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sort.txt

📁 输入一组学生包括学号成绩 按学号顺序排序
💻 TXT
字号:
public class Student{
   int number;
   String name;
   int age;
   //定义一个output方法,该方法输出学生数组的所有元素 
   static void  output(Student s[]) {
        for (int i=0;i<s.length;i++) 
            System.out.println(s[i]);
   }
   //定义toString方法。输出一个对象时,会自动调用对象的toString()方法。
   public String toString( ) {
        return "学号:"+number+", 姓名:"+name+", 年龄:"+age;
   }
   //重载Student类的构造函数
   public Student(int number,int age,String name)
   {    this.number=number;
        this.age=age;
        this.name=name;
   }
   public static void main(String args[]) {
       Student s1 = new Student(3,18,"Lily");
       Student s2 = new Student(1,21,"Suan");
       Student s3 = new Student(33,20,"John");
       Student s4 = new Student(13,20,"Lucy");
       Student s5 = new Student(8,17,"Jack");
       Student s[] = {s1,s2,s3,s4,s5};
       System.out.println("班级学生名单如下:");
       output(s);  //第1次调用output方法输出数组
       //将学生按照学号排序
       for (int i=0;i<s.length-1;i++)
           for (int j=1;j<s.length-i;j++)
           {   Student st=new Student(0,0,"");
                  if(s[j-1].number>s[j].number)
                  {   st=s[j-1];
                      s[j-1]=s[j];
                      s[j]=st;   }
           }
       System.out.println("按学号由小到大排序...");
       output(s);   //第2次调用output方法输出数组
      //将所有学生年龄加1
      for (int i=0;i<s.length;i++)
          s[i].age+=1;
      System.out.println("所有学生年龄加1后...");
      output(s);  //第3次调用output方法输出数组
      // 统计大于20岁的学生个数
      int count=0;
      for (int i=0;i<s.length;i++)
        if(s[i].age>20)
            count++;
      System.out.println("大于20岁人数是:" + count);
      }
}
2.
class  Node {
    int data;    //数据域
    Node next;   //链域,存放下一个结点的引用
}
public class Link {
   Node header ;
   /*  构建含n个结点的链表。链表的头用header指示 */
   public Link(int n) {
      Node p,q; // p为链表中当前的最后一个结点,q为要新加的结点
      header=new Node();  //创建首结点
      header.data=(int)(Math.random()*100); //给首结点的data域赋值
      p=header;
      for(int k=1;k<=n-1;k++){
      //创建除了首结点之外的其他结点
          q=new Node();
          p.next=q;
          q.data=(int)(Math.random()*100);
          p=q;
      }
   }

   /* 输出链表的所有元素的数据 */
   void outputLink()
   {  Node p=new Node();
      p=header;
      //outputLink()的实现代码
      while(p!=null)
      {   System.out.print(p.data+"-->");
          p=p.next;
      }
      System.out.println();
   }
   public static void main(String a[]) {

   Link x=new Link(10);//创建含10个元素的链表

   x.outputLink ();//输出链表

   //创建一个数据为50的新结点,放到链表的头部
   Node y=new Node();
   y.data=50;
   y.next=x.header;
   x.header=y;
   x.outputLink();  //输出链表

   //至链表的尾部,在尾部增加一个data值为50的新结点
   Node z=x.header;
   while(y!=null)
   {   z=y;
       y=y.next;  }
   y=new Node();
   y.data=50;
   z.next=y;
   x.outputLink();  //输出链表
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -