Java-BubbleSort
来源:互联网 发布:linux编辑器 编辑:程序博客网 时间:2024/05/02 01:32
前言
我们都知道BubbleSort这种排序算法不管从大到小排序,还是从小到大排序,都是相邻的两个进行比较,然后不符合条件时交换顺序。下面来看看引用类型是怎么进行BubbleSort的。
内容
- 需求:对下面几个日期进行BubbleSort排序;
- 用到的知识:数组为引用类型、排序过程中用到Compare()方法、重写了toString()方法;
内存分析
Demo
/*作者:周丽同说明:对引用类型(Date)进行BubbleSort*/public class TestDateSort{public static void main(String[] args){Date[] days = new Date[5];//定义一个日期数组 day[0] = new Date(2006,5,4);day[1] = new Date(2006,7,4);day[2] = new Date(2008,5,4);day[3] = new Date(2004,5,9);day[4] = new Date(2004,5,4);bubbleSort(days);//循环输出排序结果;for(int i=0; i<days.length; i++){System.out.printIn(days[i]);}}//定义一个返回值为引用类型(数组)的bubbleSort方法;public static Date[] bubbleSort(Date[] a){int len = a.length;for(int i =len-1;i>=1;i--){for(int j =0;j<=i-1;j++){if (a[j].compare(a[j+1]) > 0){Date temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}return a;}}class Date{int year,month,day;//Date构造方法Date(int y,int m,int d){year = y;month = m;day = d;}//定义了一个比较算法(采用递归方式);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方法public String toString(){return "Year:Month:Day --" + year + "-" + month + "-" + day;}}
感谢您的宝贵时间······
0 1
- Java-BubbleSort
- Java BubbleSort(冒泡排序)
- Java冒泡排序BubbleSort
- bubblesort 冒泡排序 java
- BubbleSort
- BubbleSort
- BubbleSort
- bubblesort
- Bubblesort
- BubbleSort
- BubbleSort
- bubblesort
- bubblesort
- bubbleSort
- BubbleSort
- BubbleSort
- BubbleSort
- bubbleSort
- 并发条件下,数据更新丢失解析
- SSM框架 +MYSQL数据库 配置事务控制的方法和注意点
- LeetCode 70. Climbing Stairs
- Java socket
- SpringMvc原理
- Java-BubbleSort
- Git使用记录
- 子集生成算法
- centos7 mysql: mariadb-wait-ready $MAINPID (code=exited, status=1/FAILURE)
- poj 几道简单的搜索题 (一)
- 装windows和Linux系统时找不到硬盘,pe安装系统没有出现磁盘,不能识别磁盘
- Android的ClearEdtitext自定义封装class
- 关于angularjs中$http POST请求参数的问题
- Java:myeclipse连接MySQL的ODBC详细步骤