//冒泡排序
public class BubbleSort {
// public static void main(String[] args) {
// // TODO 自动生成的方法存根
// int[] arr = {6,3,8,2,9,1};
// System.out.println(“排序前数组为:”);
//// 遍历数组
// for(int num:arr) {
// System.out.print(num+” “);
// }
// for(int i=0;i<arr.length-1;i++) {//外层循环控制排序趟数。
// for(int j=0;j<arr.length-1-i;j++) {//内层循环控制每一趟排序多少次.
// if(arr[j]>arr[j+1]) {
// int temp=arr[j];
// arr[j]=arr[j+1];
// arr[j+1]=temp;
// }
// }
// }
// System.out.println();
// System.out.println(“排序后数组为:”);
// for(int num:arr){
// System.out.print(num+” “);
// }
// }
// —————————————–练习—————————————————————————————
public static void main(String args[]) {
// 首先定义一个数组 然后循环遍历 定义双重循环 定义临时变量用来接收需要改变位置的元素
int[] arr = {9,8,4,2,6,7};
System.out.println(“排序前的数组为:”);
for(int num:arr) {
System.out.print(num+” “);
}
// 外层循环控制循环趟数 内层循环控制每一趟所交换的次数 其中 i j 都是数组的下标
for(int i=0;i<arr.length-1;i++) {
for(int j=0;j<arr.length-1-i;j++) {
// 用某个元素和他的下一个元素进行比较 所以使用的都是j 其中i 只是控制循环的趟数 因为内层循环只控制交换的次数 所以与i无关。
if(arr[j]>arr[j+1]) {
// 交换位置 首先定义一个临时变量初始化为数组中的元素值,然后让小的元素占领大的元素的位置 ,然后在把大的元素赋给原先小元素的位置上
int temp = arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
System.out.println();
System.out.println(“排序后的数组为:”);
for(int num:arr) {
System.out.print(num+” “);
}
}
}