冒泡排序-java实现
2016-11-24 10:06
134 查看
/**
* 冒泡排序:相邻元素两两比较,每趟都将最大元素调整到最后面
* 稳定的排序算法
*/
public class BubbleSort {
public void bubbleSort(int[] a) {
for (int i = a.length-1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (a[j] > a[j + 1]) {// 每一趟比较都找到最大的数
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
public static void main(String[] args) {
PrintUtil.print("冒泡排序");
int[] a = { 10, 8, 3, 9, 47, 12, 14, 8, 5, 0, 2 };
BubbleSort sort = new BubbleSort();
sort.bubbleSort(a);
PrintUtil.printArray(a, PrintUtil.HORIZONTAL);
}
}
public class PrintUtil {
public static final int HORIZONTAL = 0;
public static void print(String str) {
System.out.println(str);
}
public static void printArray(int[] array, int confi) {
if (confi == HORIZONTAL) {
printHorizonal(array);
} else {
printArray(array);
}
}
private static void printHorizonal(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + ", ");
}
System.out.println("");
}
public static void printArray(int[] a) {
for (int i = 0; i < a.length; i++) {
print("元素" + (i + 1) + ":" + a[i]);
}
}
public static void printArray(String[] str) {
for (int i = 0; i < str.length; i++) {
System.out.print(str[i] + ", ");
}
System.out.println("");
}
}
结果打印:
冒泡排序
0, 2, 3, 5, 8, 8, 9, 10, 12, 14, 47,
相关文章推荐