public class ArraySortUtil {
/**
*
* 冒泡排序<br>
* 冒泡排序是一种基本排序算法,其思想是比较相邻的两个元素,如果顺序不对则交换,一次遍历之后最大的元素就会"冒泡"到队列的末尾。然后再对剩余的元素进行同样的操作,直到整个序列有序
*
* @param arr
*/
public static void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
public static void main(String[] args) {
int[] arr = new int[] { 4, 3, 2, 5, 12, 6, 8, -1, 55, 67, 54, 23 };
bubbleSort(arr);
System.out.println(toString(arr));
}
public static String toString(Object obj) {
if (obj == null) {
return "null";
}
if (obj instanceof String) {
return (String) obj;
}
if (obj instanceof Object[]) {
return Arrays.toString((Object[]) obj);
}
if (obj instanceof boolean[]) {
return Arrays.toString((boolean[]) obj);
}
if (obj instanceof byte[]) {
return Arrays.toString((byte[]) obj);
}
if (obj instanceof char[]) {
return Arrays.toString((char[]) obj);
}
if (obj instanceof double[]) {
return Arrays.toString((double[]) obj);
}
if (obj instanceof float[]) {
return Arrays.toString((float[]) obj);
}
if (obj instanceof int[]) {
return Arrays.toString((int[]) obj);
}
if (obj instanceof long[]) {
return Arrays.toString((long[]) obj);
}
if (obj instanceof short[]) {
return Arrays.toString((short[]) obj);
}
String str = obj.toString();
return (str != null ? str : "");
}
}