思想方法主要参考 http://www.cnblogs.com/ysocean/p/7896269.html
package cn.ahjz.array;
/*
* 冒泡排序
*/
public class BubbleSort {
public static int[] sort(int[] array) {
/*
* 总共需要比较的次数 从数组的第一个数比较到倒数第二数 总共比较 array.length-1 次
*/
for (int i = 1; i < array.length - 1; i++) {
/*
* 数组中每一次元素的比较 最坏的情况 每次都交换
*/
for (int j = 0; j < array.length-1; j++) {
// 交换元素
if (array[j] > array[j + 1]) {
int flag = array[j];
array[j] = array[j + 1];
array[j + 1] = flag;
}
}
// 打印每一次比较结果
display(array);
System.out.println();
}
return array;
}
// 打印数组
public static void display(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
public static void main(String[] args) {
int array[] = { 4, 2, 8, 9, 5, 7, 6, 1, 3 };
sort(array);
}
}