Java冒泡排序

来源:互联网 发布:自考网络助学是什么 编辑:程序博客网 时间:2024/04/29 05:06

闲的无聊,写了个冒泡排序。


import java.util.ArrayList;import java.util.List;public class SortHelper {/* 冒泡:降序(从大到小排列)排列 */public static <T extends Comparable<T>> void Descending(T[] datas) {if (null == datas || datas.length <= 1) {return;}    for (int i = 0; i < datas.length -1; i++) {        for (int j = i+1; j < datas.length; j++) {            if (datas[i].compareTo(datas[j]) < 0) {                T temp = datas[i];                datas[i] = datas[j];                datas[j] = temp;            }        }    }}  /* 冒泡:升序(从小到大排列)排列 */public static <T extends Comparable<T>> void Ascending(T[] datas) {if (null == datas || datas.length <= 1) {return;}    for (int i = 0; i < datas.length -1; i++) {        for (int j = i+1; j < datas.length; j++) {            if (datas[i].compareTo(datas[j]) > 0) {                T temp = datas[i];                datas[i] = datas[j];                datas[j] = temp;            }        }    }}  /* 冒泡:降序(从大到小排列)排列 */public static <T extends Comparable<T>> void Descending(List<T> datas) {if (null == datas || datas.size() <= 1) {return;}    for (int i = 0; i < datas.size() -1; i++) {        for (int j = i+1; j < datas.size(); j++) {            if (datas.get(i).compareTo(datas.get(j)) < 0) {                T temp = datas.get(i);                datas.set(i, datas.get(j));                datas.set(j, temp);            }        }    }}  /* 冒泡:升序(从小到大排列)排列 */public static <T extends Comparable<T>> void Ascending(List<T> datas) {if (null == datas || datas.size() <= 1) {return;}    for (int i = 0; i < datas.size() -1; i++) {        for (int j = i+1; j < datas.size(); j++) {            if (datas.get(i).compareTo(datas.get(j)) > 0) {                T temp = datas.get(i);                datas.set(i, datas.get(j));                datas.set(j, temp);            }        }    }}/* 冒泡:降序(从大到小排列)排列 */public static <T extends Comparable<T>> void Descending(ArrayList<T> datas) {if (null == datas || datas.size() <= 1) {return;}for (int i = 0; i < datas.size() -1; i++) {for (int j = i+1; j < datas.size(); j++) {if (datas.get(i).compareTo(datas.get(j)) < 0) {T temp = datas.get(i);datas.set(i, datas.get(j));datas.set(j, temp);}}}}/* 冒泡:升序(从小到大排列)排列 */public static <T extends Comparable<T>> void Ascending(ArrayList<T> datas) {if (null == datas || datas.size() <= 1) {return;}for (int i = 0; i < datas.size() -1; i++) {for (int j = i+1; j < datas.size(); j++) {if (datas.get(i).compareTo(datas.get(j)) > 0) {T temp = datas.get(i);datas.set(i, datas.get(j));datas.set(j, temp);}}}}}

测试:

List<XXX> listdata = new ArrayList<XXX>();listdata.add(new XXX(4));listdata.add(new XXX(34));listdata.add(new XXX(345345));listdata.add(new XXX(78));listdata.add(new XXX(89));listdata.add(new XXX(1));SortHelper.Ascending(listdata);




0 0
原创粉丝点击