题目:编写程序,随机生成10个1~100之间互不相同的整数,用交换法对其进行从小到大排序并输出排序结果。排序前和排序后的数组元素
时间: 2024-02-11 21:07:24 浏览: 66
好的,以下是Java的代码实现:
```java
import java.util.Arrays;
import java.util.Random;
public class Main {
public static void main(String[] args) {
int[] arr = new int[10];
Random r = new Random();
for (int i = 0; i < arr.length; i++) {
arr[i] = r.nextInt(100) + 1;
for (int j = 0; j < i; j++) {
if (arr[i] == arr[j]) {
i--;
break;
}
}
}
System.out.println("排序前的数组元素为:" + Arrays.toString(arr));
// 交换排序
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
System.out.println("排序后的数组元素为:" + Arrays.toString(arr));
}
}
```
程序首先创建一个包含10个元素的整型数组`arr`,然后使用`java.util.Random`类生成1~100之间的随机数,并使用嵌套循环确保这些随机数互不相同。接着,输出排序前的数组元素。
然后,使用交换排序算法对数组进行排序,最后输出排序后的数组元素。需要注意的是,在交换排序算法中,我们需要使用两层嵌套循环来遍历整个数组,并比较相邻两个元素的大小,如果前一个元素比后一个元素大,则交换它们的位置。
最后,程序使用`Arrays.toString()`方法将数组转换成字符串,并使用`System.out.println()`方法输出数组元素。
阅读全文