用简单的java语言编写一个可动态输入无序数组,需打印每一趟的排序结果和有数据和UI图联动(数据同步)的能够在eclipse上运行的冒泡排序算法
时间: 2024-02-06 07:09:22 浏览: 62
JAVA一维数组,继上一部衔接
以下是一个简单的冒泡排序算法的Java实现,并且加入了动态输入无序数组和打印每一趟的排序结果的功能。由于在Eclipse上实现UI图联动需要涉及到GUI编程,这里只提供控制台输出结果的代码。
```java
import java.util.Scanner;
public class BubbleSort {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入数组的长度:");
int n = input.nextInt();
int[] arr = new int[n];
System.out.println("请输入 " + n + " 个整数:");
for (int i = 0; i < n; i++) {
arr[i] = input.nextInt();
}
System.out.println("原始数组为:");
printArray(arr);
// 冒泡排序
for (int i = 0; i < n - 1; i++) {
boolean flag = true;
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
flag = false;
}
}
System.out.println("第 " + (i + 1) + " 趟排序结果为:");
printArray(arr);
if (flag) {
break; // 如果一趟排序中没有发生交换,说明已经有序,直接退出循环
}
}
}
// 打印数组元素
public static void printArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
}
```
这个程序首先要求用户输入数组长度和每个元素的值,然后进行冒泡排序,并在每一趟排序后打印排序结果。可以在控制台上看到每一趟排序的结果。
阅读全文