您的位置:首页 > 编程语言 > Java开发

冒泡排序-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, 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息