冒泡排序
冒泡排序:前面的数据两两对比,数据大的总是交换到后面的位置,结果显示为顺序从小到大排列
public class t04 {
public static void main(String[] args) {
int [] arr = new int [10];
for (int i = 0; i < arr.length; i++) {
//(random * (b - a + 1) + a) a~b的随机数,使用random生成的随机数会有重复的数据
int r = (int)(Math.random() * (90 - 10 + 1) + 10);
arr[i] = r;
}
for(int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println(); //外循环结束 换行 使每一行都比上一行多一列
//外层循环决定冒泡次数
for (int i = 0; i < arr.length - 1; i++) {
//重复比较交换的过程,一个最大的元素就排到最后面
//单次冒泡
for(int j = 0; j < arr.length - 1; j++) {
//核心算法 : 当前元素如果比后一个大 交换两个元素的值
if (arr[j] > arr[j + 1]) {
int temp = arr[j] ;
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
for(int j = 0; j < arr.length; j++) {
System.out.print(arr[j] + " ");
}
System.out.println();
}
}
}

浙公网安备 33010602011771号