zoukankan      html  css  js  c++  java
  • 用冒泡排序对Date类数组排序

    public class TestDateSort {
    
        public static void main(String[] args) {
            Date[] days = new Date[5];
            days[0] = new Date(2016, 5, 1);
            days[1] = new Date(2016, 7, 1);
            days[2] = new Date(2018, 5, 4);
            days[3] = new Date(2014, 5, 9);
            days[4] = new Date(2014, 5, 4);
            
            System.out.println("排序前: ");
            for(int i=0; i<days.length; i++) {
                System.out.println(days[i]);
            }
            
            bubbleSort(days);    //调用冒泡排序
            
            System.out.println("排序后: ");
            for(int i=0; i<days.length; i++) {
                System.out.println(days[i]);
            }
            
        }
    
        //冒泡排序Date[]
        private static void bubbleSort(Date[] days) {
            int len = days.length-1;    //定义len为数组长度减一
            
            for(int i = len; i > 0; --i ) {
                for(int j = 0; j < i; ++j) {
                    if(days[j].compare(days[j+1])>0) { 
                        Date temp = days[j];
                        days[j] = days[j+1];
                        days[j+1] = temp;
                    }
                }
            }        
        }
        
    }
    
    //定义一个Date类
    class Date{
        int year, month, day;
        
        //构造方法
        Date(int year, int month,int day){
            this.year = year;
            this.month = month;
            this.day = day;
        }
        
        //按年、月、日比较Date的方法
        public int compare(Date date) {
            return year > date.year ? 1
                   : year < date.year ? -1
                   : month > date.month ? 1
                   : month < date.month ? -1
                   : day > date.day ? 1
                   : day < date.day ? -1 : 0;
          }
        
        //重写toString()方法,按照重写的方式输出
        @Override
        public String toString() {
            return "Year:Month:Day -- " + year + "-" + month + "-" + day;
        }
            
    }

     输出结果:

    排序前:
    Year:Month:Day -- 2016-5-1
    Year:Month:Day -- 2016-7-1
    Year:Month:Day -- 2018-5-4
    Year:Month:Day -- 2014-5-9
    Year:Month:Day -- 2014-5-4
    排序后:
    Year:Month:Day -- 2014-5-4
    Year:Month:Day -- 2014-5-9
    Year:Month:Day -- 2016-5-1
    Year:Month:Day -- 2016-7-1
    Year:Month:Day -- 2018-5-4

  • 相关阅读:
    第10组 Beta冲刺 (3/5)
    第10组 Beta冲刺 (2/5)
    第10组 Beta冲刺 (1/5)
    第10组 Alpha冲刺 (3/6)
    第10组 Alpha冲刺 (2/6)
    第10组 Alpha冲刺 (1/6)
    第一次作业
    第二次作业
    机器学习_第一次个人作业
    软工实践个人总结
  • 原文地址:https://www.cnblogs.com/pangxiaoshuai/p/10806989.html
Copyright © 2011-2022 走看看