public class Test {
/**
* 冒泡排序
*
* @param array
*/
public static void bubbleSort(int[] array) {
int n = array.length;
if (n <= 1) {
return;
}
//遍历n次
for (int i = 0; i < n; i++) {
//交换数据标识
boolean swapflag = false;
//每轮比较n-1-i次
for (int j = 0; j < n - 1 - i; j++) {
//比较两个相邻的元素,将值大的元素交换到右边
if (array[j] > array[j + 1]) {
int tmp = array[j];
array[j] = array[j + 1];
array[j + 1] = tmp;
swapflag = true;
}
}
System.out.println("第" + (i + 1) + "次交换后结果," + Arrays.toString(array));
//如果没产生数据交换,证明后面数据已经是有序的,不需要再遍历
if (!swapflag) {
break;
}
}
}
public static void main(String[] args) {
int[] array = {4, 2, 6, 1, 9, 8, 3, 5, 7};
bubbleSort(array);
}
}
冒泡排序java版代码
最新推荐文章于 2021-01-30 15:44:23 发布