前言

我们都知道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

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;

}

}

感谢您的宝贵时间······

java bubble sort_Java-BubbleSort相关推荐

  1. java arratlist sort_Java ArrayList sort() 使用方法及示例

    Java ArrayList sort() 使用方法及示例 Java ArrayList sort()方法根据指定的顺序对arraylist中的元素进行排序. sort()方法的语法为: arrayl ...

  2. Algorithm - Bubble Sort(Java)

    分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net package chimomo.learning.j ...

  3. java python算法_用Python,Java和C ++示例解释的排序算法

    java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...

  4. java排序链表冒泡排序_Java中的冒泡排序

    java排序链表冒泡排序 Java Sorting is one of the many aspects of java interview questions. In this post, we w ...

  5. JAVA学习基础部分

    Java快捷键 alt+/:智能补关键字,带提示 crtl+alt+/:智能补全关键字,不带提示 crtl+1:代码修正 JAVA主类结构 含有main()方法称为主类 文件名必须和主类的名同名 类的 ...

  6. Java冒泡,快速,插入,选择排序^_^+二分算法查找

    这段时间在学Java,期间学到了一些排序和查找方法.特此写来和大家交流,也方便自己的日后查看与复习. 1.下边是Java的主类: public class Get {public static voi ...

  7. Recursive Bubble Sort(递归冒泡排序)

    程序来源:Recursive Bubble Sort 迭代冒泡排序算法: // Iterative Bubble Sort bubbleSort(arr[], n) {for (i = 0; i &l ...

  8. Android 11 Bubble通知的原理

    说明 本文仅基于android11 背景 定义及性质 Android11推出的完善的新通知API Bubble是一个特殊的通知,可用于聊天场景. 界面类似悬浮窗,可以在某些场景下对悬浮窗进行替换 具体 ...

  9. 校园招聘Java开发工程师需要掌握的技能

    一.基础知识 1. 数据结构(排序算法,链表,队列,栈,二叉树,图) 1.1直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n >= 2 ]个数已经是排好顺序的,现在要把第 ...

最新文章

  1. Python 之 matplotlib (八)Bar
  2. mac地址信息查询站点
  3. shell实例第18讲:利用gzexe加密shell脚本
  4. 【OpenCV3】彩色映射——cv::applyColorMap()与cv::LUT()详解
  5. git branch 为什么会进入编辑状态_Git很难,搞砸很容易,好在有神奇命令让时光倒流...
  6. 从Speedment 3.0.17或更高版本的事务轻松返回值
  7. 重磅!清华这个决定冲上热搜!网友:不愧是清华…
  8. 最小生成树之迪杰斯特拉算法(Dijkstra算法)之单源最短路径
  9. 增量式速度pid调节策略_增量式PID是什么?不知道你就落伍了
  10. c语言入门级小游戏·飞机(1.0版)| 激发你的编程兴趣(50~100行代码)
  11. 微信小程序,模板+按钮+绑定事件
  12. 华为网吧服务器型号,网吧需要什么配置的服务器
  13. Unity导入图片为何会失真
  14. PDF/CDF 用matlab计算和绘图1
  15. listbox java_listbox读取数据库
  16. Android - 控件android:ems属性
  17. 湖西大学计算机专业排名,韩国留学热门的30个专业
  18. SAP创建供应商及采购订单
  19. 科兴新冠疫苗获准紧急用于巴西3至5岁儿童
  20. 安装文件MSI文件和EXE文件有什么区别?

热门文章

  1. linux删除两个文档中相同记录的行
  2. 如何使html中的din居中,CSS 实现完美垂直居中
  3. (丘维声)高等代数课程笔记:映射的乘法,可逆映射
  4. 【002】EIS测试_#LIB
  5. 企业管理软件销售技巧
  6. STM32的USART编程
  7. 我的Android进阶之旅:经典的大牛博客推荐
  8. 笔记本网卡总断连,如何使得网卡不自动休眠?
  9. win10平板模式_Win10不支持miracast,你是不是就放弃了?
  10. 在NS-3中安装可视化工具NeAnim