Java实现的冒泡排序

来源:互联网 发布:酷狗音乐 mac 编辑:程序博客网 时间:2024/05/15 19:28

有时间的话,每天写一点儿代码,不然真的会生疏的。

今天带给大家的是java实现的冒泡排序。。直接看代码吧,我相信,冒泡排序这么简单,不需要讲什么的了。

//自己定义一个类,用于测试的。。。比较的话,需要实现comparable接口public class MyInfo implements Comparable<MyInfo> {private int mid = 0;private String mname = null;public MyInfo(int id, String name) {this.mid = id;this.mname = name;}//通过id进行比较,如果想通过name进行比较,也可以。。。@Overridepublic int compareTo(MyInfo o) {// TODO Auto-generated method stubif (this.mid < o.mid) {return -1;} else if (this.mid == o.mid) {return 0;} else {return 1;}//通过name进行比较的代码,把上面的注释掉即可//return this.mname.compareTo(o.mname);}//用于打印输出@Overridepublic String toString() {// TODO Auto-generated method stubreturn mid + " --> " + mname;}}

接下来是冒泡排序的算法。
public class BubbleSort {//冒泡的算法实现,这个就不讲了吧,还是比较简单的//泛型(终于用泛型了),只要是实现了comparable接口的类都可以public static<T extends Comparable<T>> void BubbleSort(T[] arr){for(int i = 0;i<arr.length-1;i++){for(int j = i+1;j<arr.length;j++){if(arr[i].compareTo(arr[j])>0){T tmp = arr[i];arr[i] = arr[j];arr[j] = tmp;}}}}}

我靠???这么点儿???是的,就是这么点儿。。。


下面是用于测试的代码。。。OK了

public class TestBubble {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub//第一,普通int类型的数据//什么???是Integer??这个就是java的自动打包,因为我的bubblesort是针对对象的,java会将int类型自动打包成Integer。Integer[] arr = { 2, 4, 1, 2, 1, 7, 2, 3, 4 };BubbleSort.<Integer> BubbleSort(arr);for (int i = 0; i < arr.length; ++i) {System.out.print(arr[i] + " ");}System.out.println();System.out.println("------------------------------------");//自己定义的对象的实现。。。MyInfo[] infos = { new MyInfo(001, "Bill Gates"),new MyInfo(142, "Steve Jobs"), new MyInfo(673, "Bob Cash"),new MyInfo(23, "Kobe Bryant"), new MyInfo(143, "Stevn Nash"),new MyInfo(121, "Lerbron James"), new MyInfo(56, "Derick Rose") };BubbleSort.<MyInfo> BubbleSort(infos);for (int i = 0; i < infos.length; ++i) {System.out.println(infos[i] + " ");}}}
运行结果!应该是没问题的。。。

好了,Code Per Day,今天的内容到此结束!

0 0
原创粉丝点击