java直接选择法排序代码
时间: 2024-10-03 08:01:41 浏览: 8
直接选择排序(Direct Selection Sort)是一种简单直观的排序算法。它的工作原理是在每次迭代中找到剩余数据中最小(或最大)的元素,并将其放在已排序部分的末尾。以下是使用 Java 实现直接选择排序的基本代码:
```java
public class DirectSelectionSort {
void selectionSort(int arr[]) {
int n = arr.length;
// One by one move boundary of unsorted subarray
for (int i = 0; i < n - 1; i++) {
// Find the minimum element in unsorted array
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
// Swap the found minimum element with the first element of
// the unsorted part
int temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
// Function to print an array
void printArray(int arr[]) {
int n = arr.length;
for (int i=0; i<n; ++i)
System.out.print(arr[i] + " ");
System.out.println();
}
public static void main(String args[]) {
DirectSelectionSort ds = new DirectSelectionSort();
int[] arr = {64, 25, 12, 22, 11};
System.out.println("Given array is");
ds.printArray(arr);
ds.selectionSort(arr);
System.out.println("\nSorted array using Direct Selection Sort:");
ds.printArray(arr);
}
}
```
在这个例子中,`selectionSort()` 函数首先遍历数组找到未排序部分的最小值,然后将该值与第一个未排序位置的值交换。这个过程一直持续到整个数组有序。