闲的无聊,写了个冒泡排序。
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);