• 数据结构-排序(选做)


    数据结构-排序(选做)
    任务要求
    在数据结构和算法中,排序是很重要的操作,要让一个类可以进行排序,有两种方法:
    有类的源代码,针对某一成员变量排序,让类实现Comparable接口,调用Collection.sort(List)
    没有类的源代码,或者多种排序,新建一个类,实现Comparator接口 调用Collection.sort(List, Compatator)
    针对下面的Student类,使用Comparator编程完成以下功能:
    在测试类StudentTest中新建学生列表,包括自己和学号前后各两名学生,共5名学生,给出运行结果(排序前,排序后)
    对这5名同学分别用学号和总成绩进行增序排序,提交两个Comparator的代码
    课下提交代码到码云

    public class SortId {
        public static void main(String[] args) {
            Student[] student = new Student[5];
            student[0] = new Student("5305","zty",'n',20,67,78,77);
    
            student[1] = new Student("5306","wjs",'n',20,89,67,88);
    
            student[2] = new Student("5307","gsc",'n',20,99,77,89);
    
            student[3] = new Student("5309","lyh",'n',20,70,80,78);
    
            student[4] = new Student("5308","yy",'n',20,78,98,89);
    
            System.out.println("按照学号排序之后");
            for(int i=0;i<student.length;i++){
                int current = Integer.valueOf(student[i].getId());
                for(int j=i+1;j<student.length;j++){
                    int temp = Integer.valueOf(student[j].getId());
                    if(temp< current){
                        Student tem = new Student("","");
                        tem = student[j];
                        student[j]=student[i];
                        student[i]=tem;
                    }
    
                }
            }
            for(Student q : student){
                System.out.println("Id:"+q.getId()+" Name:"+q.getName()+" Sex:"+q.getsex()+" Computer_score"+q.getComputer_score()+" English_score"+q.getEnglish_score()+" Maths_score"+q.getMaths_score());
            }
        }
    }
    
    public class SortScore {
        public static void main(String[] args) {
            Student[] student = new Student[5];
            student[0] = new Student("5305","zty",'n',20,67,78,77);
    
            student[1] = new Student("5306","wjs",'n',20,89,67,88);
    
            student[2] = new Student("5307","gsc",'n',20,99,77,89);
    
            student[3] = new Student("5309","lyh",'n',20,70,80,78);
    
            student[4] = new Student("5308","yy",'n',20,78,98,89);
    
            System.out.println("按照学号排序之后");
            for(int i=0;i<student.length;i++){
                double current = student[i].getTotalScore();
                for(int j=i+1;j<student.length;j++){
                    double temp = student[j].getTotalScore();
                    if(temp< current){
                        Student tem = new Student("","");
                        tem = student[j];
                        student[j]=student[i];
                        student[i]=tem;
                    }
    
                }
            }
            for(Student q : student){
                System.out.println("Id:"+q.getId()+" Name:"+q.getName()+" Sex:"+q.getsex()+" Computer_score"+q.getComputer_score()+" English_score"+q.getEnglish_score()+" Maths_score"+q.getMaths_score());
            }
        }
    }
    
  • 相关阅读:
    前台的js对象数组传到后台处理。在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>
    ef中用lambda expressions时要注意(m=>m.id ==b ) 此时的b只能是基本的数据类型 。连属性都不能用
    你是否有遇到过某个实体类字段(属性)过多的情况,不想每次点的话戳进来(C# 反射)
    razor使用注意点........
    让简历在15秒内吸引招聘者《我的前程我做主》六
    JavaScript学习总结(十六)——Javascript闭包(Closure)
    C#操作XML的完整例子——XmlDocument篇(转载,仅做学习之用)
    C#操作XML方法集合
    图片超链接作为下载来处理
    架构师手记
  • 原文地址:https://www.cnblogs.com/gsc20175307/p/10817054.html
Copyright © 2020-2023  润新知