import java.util.Scanner;
//需求:冒泡排序:就是从小到大排序,像🐟吐泡泡一样
public class BubbleSort {
public static void main(String[] args) {
// 定义输入
Scanner sc =new Scanner(System.in);
System.out.println("请输入一个整数:");
int n = sc.nextInt();
int[] arr=new int[n];
Scanner sc1=new Scanner(System.in);
System.out.println("请输入"+n+"个整数");
for (int i =0; i < n; i++) {
arr[i]=sc.nextInt();
}
//int [] arr={12,10,46,8,16};
System.out.println("冒泡排序前:");
// 调用打印方法
printArray(arr);
// 调用排序方法
bubbleSort(arr);
System.out.println("冒泡排序后:");
// 调用打印方法
printArray(arr);
}
// 定义打印方法
public static void printArray(int [] arr) {
for (int i =0; i < arr.length; i++) {
System.out.print(arr[i]+" ");//打印元素和空格,print不换行
}
System.out.println();
}
// 定义排序方法
public static void bubbleSort(int[] arr){
//定义外层循环
A:for (int i =0; i < arr.length-1; i++) {
//定义内层循环
for (int j =0; j < arr.length-i-1; j++) {
if (arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
System.out.println("第"+(i+1)+"轮排序后:");
printArray(arr); //每轮比较结束打印数组元素
}
}
}