import java.util.Scanner;
public class a1 {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入数组的长度");
int length = myScanner.nextInt();
int[] arr = new int[length];
System.out.println("请输入数组元素的值");
for (int i = 0; i < arr.length; i++) {
arr[i] = myScanner.nextInt();
}
System.out.print("此时数组为 ");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
int count = arr.length - 1;
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < count; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
count--;
}
System.out.print("\n" + "冒泡排序后数组为 ");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
import java.util.Scanner;
public class a1 {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入数组的长度");
int length = myScanner.nextInt();
if (length == 0) {
System.out.print("该数组为空,程序结束");
return;
}
int[] arr = new int[length];
System.out.println("请输入数组元素的值");
for (int i = 0; i < arr.length; i++) {
arr[i] = myScanner.nextInt();
}
System.out.print("此时数组为 ");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
if (length == 1) {
System.out.print("\n" + "该数组不需要进行冒泡排序");
return;
}
int flag = 0, mark = 0;
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;
flag++;
}
}
if (i > 0 && mark == flag) {
System.out.print("\n" + "排序结束");
break;
}
else if (flag == 0) {
System.out.print("\n" + "该数组不需要进行冒泡排序");
return;
}
mark = flag;
System.out.print("\n" + "第" + (i + 1) + "轮排序的结果为 ");
for (int j = 0; j < arr.length; j++) {
System.out.print(arr[j] + " ");
}
if (i == arr.length - 2) {
System.out.print("\n" + "排序结束");
}
}
System.out.print("\n" + "冒泡排序后数组为 ");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}