java数组选择排序
时间: 2023-11-07 09:48:50 浏览: 46
Java数组选择排序是一种基于比较的排序算法,其基本思想是通过不断选择最小的元素并将其放置到已排序部分的末尾,直到整个数组排序完成。
选择排序的实现可以通过两层循环来完成。外层循环控制轮数,内层循环用来比较当前元素与之后的元素,并进行交换位置。
以下是选择排序的代码实现:
```java
int[] nums = {2, 5, 7, 4, 1};
for (int i = 0; i < nums.length - 1; i++) {
int minIndex = i; // 记录最小元素的索引
for (int j = i + 1; j < nums.length; j++) {
if (nums[j < nums[minIndex]) {
minIndex = j; // 更新最小元素的索引
}
}
// 交换位置
int temp = nums[i];
nums[i = nums[minIndex];
nums[minIndex = temp;
}
System.out.println(Arrays.toString(nums));
```
在这段代码中,我们使用两个循环来遍历数组。外层循环控制轮数,内层循环从当前轮数开始,找到最小的元素的索引。然后,将最小元素与当前轮数的元素交换位置。重复这个过程直到整个数组排序完成。
选择排序的时间复杂度为O(n^2),其中n是数组的长度。尽管选择排序的时间复杂度比较高,但由于其实现简单,对于小型数组或部分有序的数组,选择排序仍然是一个有效的排序算法。