用简单的java语言编写一个可动态输入无序数组,需打印每一趟的排序结果和有数据和UI图联动(数据同步)的能够在eclipse上运行的冒泡排序算法
时间: 2024-02-06 12:11:22 浏览: 54
用Java写出冒泡排序的算法
好的,我来为您编写一个简单的Java程序,实现冒泡排序算法,同时能够动态输入无序数组,并打印每一趟的排序结果。
首先,我们需要引入Java中的Scanner类,以便从控制台获取用户输入。代码如下:
```java
import java.util.Scanner;
```
接下来,我们定义一个BubbleSort类,实现冒泡排序算法。
```java
public class BubbleSort {
// 冒泡排序算法
public static void sort(int[] arr) {
int len = arr.length;
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
// 打印每一趟排序结果
System.out.print("第" + (i + 1) + "趟排序结果:");
for (int k = 0; k < len; k++) {
System.out.print(arr[k] + " ");
}
System.out.println();
}
}
}
```
在sort方法中,我们使用了两个for循环来实现冒泡排序。第一个for循环控制排序的趟数,第二个for循环控制每一趟排序的次数。在每一趟排序结束后,我们打印出当前的排序结果。
接下来,我们在main方法中实现动态输入无序数组,并调用sort方法进行排序,并将排序结果打印出来。
```java
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入无序数组的长度:");
int len = input.nextInt();
int[] arr = new int[len];
System.out.print("请输入无序数组的元素(用空格隔开):");
for (int i = 0; i < len; i++) {
arr[i] = input.nextInt();
}
System.out.println("原始数组为:");
for (int i = 0; i < len; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
BubbleSort.sort(arr);
System.out.println("排序后的数组为:");
for (int i = 0; i < len; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
```
完整代码如下:
```java
import java.util.Scanner;
public class BubbleSort {
// 冒泡排序算法
public static void sort(int[] arr) {
int len = arr.length;
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
// 打印每一趟排序结果
System.out.print("第" + (i + 1) + "趟排序结果:");
for (int k = 0; k < len; k++) {
System.out.print(arr[k] + " ");
}
System.out.println();
}
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入无序数组的长度:");
int len = input.nextInt();
int[] arr = new int[len];
System.out.print("请输入无序数组的元素(用空格隔开):");
for (int i = 0; i < len; i++) {
arr[i] = input.nextInt();
}
System.out.println("原始数组为:");
for (int i = 0; i < len; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
BubbleSort.sort(arr);
System.out.println("排序后的数组为:");
for (int i = 0; i < len; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
}
```
您可以将以上代码复制到Eclipse中,运行程序,动态输入无序数组,并查看每一趟的排序结果和排序后的数组。
阅读全文