新建日期类,并利用冒泡排序、选择排序、二分法寻找指定日期
2015-04-17 21:45
253 查看
public class TestDateSort{ public static void main(String[] args){ Date[] date=new Date[5]; date[0]=new Date(2006,5,4); date[1]=new Date(2006,7,4); date[2]=new Date(2008,5,4); date[3]=new Date(2004, 5, 9); date[4]=new Date(2004, 5, 4); Date d=new Date(2006,7,4); //bubbleDateSort(date); selectionDateSort(date); for(int i=0;i<date.length;i++){ System.out.println(date[i]); } System.out.println(binaryDate(date,d)); } public static void bubbleDateSort(Date[] date){ for(int i=0;i<date.length-1;i++){ for(int j=0;j<date.length-1;j++){ if((date[j].compare(date[j+1])>0)){ Date d=null; d=date[j]; date[j]=date[j+1]; date[j+1]=d; } } } } public static void selectionDateSort(Date[] date){ for(int i=0;i<date.length-1;i++){ for(int j=i+1;j<date.length;j++){ if(date[i].compare(date[j])>0){ Date d=null; d=date[i]; date[i]=date[j]; date[j]=d; } } } } public static void insertDateSort(Date[] date){ } public static int binaryDate(Date[] date,Date d){ int startPos=0; int endPos=date.length-1; int m=(startPos+endPos)/2; while((date[startPos].compare(date[endPos]))<0){ if((date[m].compare(d))==0) return m; if((date[m].compare(d))>0){ endPos=m-1; m=(startPos+endPos)/2; } if((date[m].compare(d))<0){ startPos=m+1; m=(startPos+endPos)/2; } } return -1; } } class Date{ private int year; private int month; private int date; public Date(int year,int month,int date){ this.year=year; this.month=month; this.date=date; } public String toString(){ return "year-month-date:"+year+"-"+month+"-"+date; } public int compare(Date d){ if(this.year<d.year){ return -1; }else if(this.year>d.year){ return 1; }else{ if(this.month<d.month){return -1;}else if(this.month>d.month){ return 1; }else{ if(this.date<d.date){return -1;}else if(this.date>d.date){ return 1; }else{ return 0; } } } } }
相关文章推荐
- java中选择排序,冒泡排序和二分法查找学习记录
- 基本算法简单实现-二分法查找、合并排序、冒泡排序、插入排序、选择排序、快速排序
- 简单算法--冒泡排序、快速排序、选择排序及二分法
- 黑马程序员--选择排序、冒泡排序、二分法查找
- 黑马程序员————冒泡排序、选择排序、二分法查找
- 一维数组中的一些常用方法(打印数组、逆序、选择排序、冒泡排序、二分法查找、普通查找)
- C语言拓展——选择排序、冒泡排序、二分法查找
- 冒泡排序、直接选择排序、二分法查找
- java选择排序,冒泡排序分析,附带二分法查找
- 利用随机类生成数组,并用冒泡排序以及选择排序对不同数组的元素进行从小到大的排序
- 笔试经常遇到的选择排序、冒泡排序和二分法查找
- java选择排序、冒泡排序和插入排序实现
- delphi dynamic Array 排序 快速排序,选择排序,冒泡排序
- JAVA面试题之冒泡排序,插入排序及选择排序
- java选择排序和冒泡排序
- 排序算法(一):插入排序、冒泡排序、合并排序、选择排序
- C#排序算法:冒泡排序 选择排序 插入排序 希尔排序
- JAVA--冒泡排序、选择排序
- 利用Python实现选择排序