请你用JAVA语言编写一个完整程序,要求定义一个一维整数数组,其中储存随机生成的1100个整数,使用一个排列方法对它们进行升幂排序,并输出排序后的结果
时间: 2024-09-29 19:14:07 浏览: 39
Tedu一阶段Java中的方法
当然可以,下面是一个简单的Java程序,它首先创建一个长度为1100的一维整数数组并填充随机整数,然后使用经典的快速排序算法对其进行升序排序:
```java
import java.util.Arrays;
import java.util.Random;
public class Main {
public static void main(String[] args) {
// 创建一个长度为1100的整数数组
int[] array = new int[1100];
Random random = new Random();
// 填充随机整数到数组
for (int i = 0; i < array.length; i++) {
array[i] = random.nextInt(1000); // 生成0到999之间的随机整数
}
// 使用快速排序进行升序排列
quickSort(array, 0, array.length - 1);
// 输出排序后的结果
System.out.println("Sorted array:");
for (int num : array) {
System.out.print(num + " ");
}
System.out.println();
}
// 快速排序函数
private static void quickSort(int[] arr, int low, int high) {
if (low < high) {
// 找到基准元素的索引
int pivotIndex = partition(arr, low, high);
// 对基准左边和右边的部分递归地进行快速排序
quickSort(arr, low, pivotIndex - 1);
quickSort(arr, pivotIndex + 1, high);
}
}
// 分区函数
private static int partition(int[] arr, int low, int high) {
int pivot = arr[high]; // 选择最后一个元素作为基准
int i = low - 1; // 指针i指向小于基准的元素
for (int j = low; j < high; j++) {
if (arr[j] <= pivot) { // 如果当前元素小于等于基准
i++; // 移动指针i
swap(arr, i, j); // 交换元素
}
}
swap(arr, i + 1, high); // 将基准放到正确的位置
return i + 1; // 返回基准的新位置
}
// 交换两个元素的函数
private static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
```
当你运行这个程序,你会看到一个1100个随机整数按照升序排列的结果。
阅读全文