import java.util.Arrays;
public class TestDemo{
public static void bubbleSort(int[] array){
for (int i = 0; i < array.length-1; i++) { //一共需要进行array.length-1趟排序
boolean flg = false; //没交换
for (int j = 0; j < array.length - 1 - i; j++) { //第一趟:首先从0下标开始进行两两数字比较,如果array[j] > array[j+1,交换数据,这一轮过后,最大的数字去到最后的位置
//第二趟:接着再继续从0下标开始进行数字两两比较,因为第一轮最大的数字已经找到了,所以就没必要再比较一次,所以 -i
if (array[j] > array[j+1]){ //如果没交换数字,说明array[j] > array[j+1],程序不进来
int tmp = array[j];
array[j] = array[j+1];
array[j+1] = tmp;
flg = true; //如果程序进入了if语句,说明array[j] > array[j+1],肯定是要进行数据交换的
}
}
if(flg == false){ //走完一趟,判断是否有数字交换,没有break
break;
}
}
}
public static void main(String[] args) {
int[] array = {3,7,2,9,6,4};
Arrays.sort(array) ; //java自己的排序
//bubbleSort(array);
System.out.println(Arrays.toString(array));
}
}
Java:数组的冒泡排序
最新推荐文章于 2023-06-10 17:45:14 发布