java算法:使用冒泡算法对任何对象排序

原创 2013年12月05日 20:35:11

1.普通的冒泡排序方法只能对数组进行排序


 public static void bubbleSort(int[] numbers) {
  int temp; 
  boolean flag = true;
  int size = numbers.length;
  for (int i = 1; flag && i <= size - 1; i++) {
   flag = false;
   for (int j = 0; j < size - i; j++) {
    if (numbers[j] < numbers[j + 1]) {  

     temp = numbers[j];
     numbers[j] = numbers[j + 1];
     numbers[j + 1] = temp;
     flag = true;
    }
   }
  }
 }

2.对任何对象都可以进行排序


 /**
  * 用冒泡排序对任何对象排序

   *extends 在这里不表示继承的关系,而是类型的限定

  *Comparable类 用于比较两个对象的大小
  *
  * @param x 对象
  */
 public static <T extends Comparable<T>> void bubbleSort(T[] x) {
  T temp;
  boolean flag = true;
  int size = x.length;
  for (int i = 1; flag && i <= size - 1; i++) {
   flag = false;
   for (int j = 0; j < size - i; j++) {
    if (x[j].compareTo(x[j + 1]) > 0) {
     temp = x[j];
     x[j] = x[j + 1];
     x[j + 1] = temp;
     flag = true;
    }
   }

  }

 }

3.在不知道具体的对象时,应该怎么使用冒泡排序

/*

*传入一个带泛型的比较器-->Comparator

*/
 public static <T extends Comparable<T>> void bubbleSort(T[] x,Comparator<T> comparator) {
  T temp;
  boolean flag = true;
  int size = x.length;
  for (int i = 1; flag && i < size - 1; i++) {
   flag = false;
   for (int j = 0; j < size - i; j++) {
    if (comparator.compare(x[j], x[j + 1]) > 0) {
     temp = x[j];
     x[j] = x[j + 1];
     x[j + 1] = temp;
     flag = true;
    }

   }

  }

 }

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

八大排序算法Java

概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 ...
  • Happy_wu
  • Happy_wu
  • 2016年07月06日 17:57
  • 24457

排序算法扩展之对象排序

今天我们要学一个好玩的东西,那就是对象排序,之前都是对整数数组进行排序,今天我们就来做一个对象排序。这个核心思想就是借用关键字进行比较,以及开一个临时对象进行指针交换来达到排序效果,这里我写一个冒泡对...

java算法 冒泡排序

  • 2013年11月21日 22:53
  • 1KB
  • 下载

java冒泡排序算法

  • 2015年08月30日 11:59
  • 230B
  • 下载

Java数据结构和算法-简单排序(1-冒泡排序)

一般在创建数据库之后,就可能对某些数据进行排序。例如:对商店的销售品按价格排序,对城市按人口增长率进行排序等。排序一般作为检索的一个初始步骤,正如在前面所讲的数组中,二分查找要比线性查找快的多,但是二...

用Java写出冒泡排序的算法

  • 2014年02月10日 20:15
  • 14KB
  • 下载

Java冒泡排序算法的几种实现

研究了一下冒泡算法,原理不详述了,直接代码:

Java冒泡排序算法

  • 2013年12月22日 22:55
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java算法:使用冒泡算法对任何对象排序
举报原因:
原因补充:

(最多只允许输入30个字)