资讯专栏INFORMATION COLUMN

【Java猫说】每日算法:#5-模板(泛型)方法之选择排序

animabear / 830人阅读

摘要:每日算法分析模板函数,泛型参数传递排序针对各种参数,甚至自定义参数进行排序使用处理所有参数编码定义的函数,如果分数相等,则按照名字的字母序排序如果分数不等,则分数高的靠前定义实例的打印输出方式模板化选择排序测试测试测试测试自定义的类地址与

Java每日算法 分析

模板函数,泛型参数传递排序

·针对各种参数,甚至自定义参数进行排序
·使用Comparable处理所有参数
编码
@Data
public class Student implements Comparable {

    private String name;
    private int score;

    public Student(String name, int score) {
        this.name = name;
        this.score = score;
    }

    /**
     * 定义Student的compareTo函数,如果分数相等,则按照名字的字母序排序
     * 如果分数不等,则分数高的靠前
     * @param o
     * @return
     */
    @Override
    public int compareTo(Student o) {
        if (this.score < o.score){
            return -1;
        }else if(this.score > o.score){
            return 1;
        }else{
            return this.name.compareTo(o.name);
        }
    }

    /**
     * 定义Student实例的打印输出方式
     * @return
     */
    @Override
    public String toString() {
        return "Student: " + this.name + " " + Integer.toString( this.score );
    }

}

模板化选择排序

public class SelectionSort {

    private SelectionSort(){}

    public static void sort(Comparable[] arr){
        for (int i = 0;i
地址与代码获取

项目以传Github,定期更新算法内容
UncleCatMySelf/java_algorithm

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/76579.html

相关文章

  • Java猫说每日算法:#4-选择排序

    Java每日算法 分析 选择排序,一种O(n^2)的排序算法。 1、为什么学习O(n^2)的排序算法? ·基础 ·编码简单,易于实现,是一些简单情景的首选 ·在一些特殊情况下,简单的排序算法更有效 ·简单的排序算法思想衍生出复杂的排序算法 ·作为子过程,改进更复杂的排序算法 2、什么是选择排序(Selection Sort) ·在数组中的活动范围内选择最小的数据,并放置在数组活动范围的头部 ·固...

    honmaple 评论0 收藏0
  • Java猫说每日算法:#1-DoWhile实现特殊累加值

    摘要:每日算法题目计算的值,要求使用循环,且必须计算到小于是为止。本文已转载个人技术公众号欢迎留言讨论与点赞下一篇推荐猫说每日算法三目运算符美观打印码 Java每日算法 题目 计算1+1/3+1/5+1/7+···+1/(2×n+1)的值,要求使用while循环,且必须计算到1/(2×n+1)小于0.00001是为止。当循环结束时,显示上述表达式中的n的值,以及表达式的计算结果。 分析 我们...

    liuhh 评论0 收藏0
  • Java猫说每日算法:#3-枚举求就业率问题

    摘要:每日算法题目已知某大学某专业本年度毕业生的人数为三百人左右,且学生就业率为。通过循环,来求出最可能的学生人数及已就业人数。本文已转载个人技术公众号欢迎留言讨论与点赞上一篇推荐猫说每日算法三目运算符美观打印码下一篇推荐 Java每日算法 题目 已知某大学某专业本年度毕业生的人数为三百人左右,且学生就业率为82.23%。通过for循环,来求出最可能的学生人数及已就业人数。假定总人数三百人左...

    NicolasHe 评论0 收藏0
  • Java猫说每日算法:#2-三目运算符美观打印ASCII码

    摘要:每日算法题目将码位于之间的个字符显示在屏幕上,为了美观,要求小于的码值前填充一个,每打印个字符后换行。本文已转载个人技术公众号欢迎留言讨论与点赞上一篇推荐猫说每日算法实现特殊累加值下一篇推荐猫说每日算法枚举求就业率问题 Java每日算法 题目 将ASCII码位于32-126之间的95个字符显示在屏幕上,为了美观,要求小于100的码值前填充一个0,每打印8个字符后换行。 分析 这里先注意...

    everfly 评论0 收藏0
  • Javag工程师成神路(2019正式版)

    摘要:结构型模式适配器模式桥接模式装饰模式组合模式外观模式享元模式代理模式。行为型模式模版方法模式命令模式迭代器模式观察者模式中介者模式备忘录模式解释器模式模式状态模式策略模式职责链模式责任链模式访问者模式。 主要版本 更新时间 备注 v1.0 2015-08-01 首次发布 v1.1 2018-03-12 增加新技术知识、完善知识体系 v2.0 2019-02-19 结构...

    Olivia 评论0 收藏0

发表评论

0条评论

animabear

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<