用java写一个选择排序算法
时间: 2023-07-18 19:10:31 浏览: 55
下面是Java实现选择排序的代码:
```java
public static void selectionSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
int minIndex = i; // 记录最小值的下标
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
if (minIndex != i) { // 最小值不在当前位置,交换元素
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}
```
该算法接收一个整型数组作为参数,对数组进行排序。我们使用两个循环,外层循环从数组的第一个元素开始,到倒数第二个元素结束;内层循环从外层循环的下一个元素开始,到数组最后一个元素结束。内层循环每次找到未排序部分的最小值,记录其下标,然后在外层循环结束后,如果最小值不在当前位置,就将其和当前位置的元素交换。
这样就完成了选择排序的实现。
相关问题
用 java 写一个选择排序算法
好的,以下是 Java 语言实现选择排序算法的代码:
public static void selectionSort(int[] arr) {
int n = arr.length;
for (int i = ; i < n - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
int temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
这个算法的时间复杂度为 O(n^2),适用于小规模数据的排序。
用Java写一个选择排序算法
public class SelectionSort {
public static void main(String[] args) {
int[] arr = {64, 25, 12, 22, 11};
selectionSort(arr);
System.out.println("排序后的数组:");
for(int i: arr){
System.out.print(i + " ");
}
}
public static void selectionSort(int[] arr){
int n = arr.length;
for(int i=0;i<n-1;i++){
int minIndex = i;
for(int j=i+1;j<n;j++){
if(arr[j]<arr[minIndex]){
minIndex = j;
}
}
int temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
}
//输出:排序后的数组:11 12 22 25 64