原文: https://beginnersbook.com/2019/04/java-program-for-selection-sorting/

在本教程中,我们将为选择排序编写一个 Java 程序。

选择排序算法如何工作?

选择排序算法的工作原理是将原始数组分成两个子数组:排序子数组和未排序子数组,最初排序的子数组为空。该算法通过从未排序的子数组中重复查找最小元素并将其替换为数组的第一个元素来工作,从而使该数组的一部分成为已排序的子数组。这种情况反复发生,直到整个数组被排序。

Java 程序:在数组上执行选择排序

在下面的示例中,我们定义了一个实现选择排序算法的方法selectionSort()。它从数组中找到最小元素,并将其与数组的第一个元素交换。

我们创建了另一种方法printArr()来显示数组的元素。我们在排序之前和之后调用此方法,以在选择排序之前和之后显示数组元素。

  1. class JavaExample
  2. {
  3. void selectionSort(int arr[])
  4. {
  5. int len = arr.length;
  6. for (int i = 0; i < len-1; i++)
  7. {
  8. // Finding the minimum element in the unsorted part of array
  9. int min = i;
  10. for (int j = i+1; j < len; j++)
  11. if (arr[j] < arr[min])
  12. min = j;
  13. /* Swapping the found minimum element with the first
  14. * element of the sorted subarray using temp variable
  15. */
  16. int temp = arr[min];
  17. arr[min] = arr[i];
  18. arr[i] = temp;
  19. }
  20. }
  21. // Displays the array elements
  22. void printArr(int arr[])
  23. {
  24. for (int i=0; i<arr.length; i++)
  25. System.out.print(arr[i]+" ");
  26. System.out.println();
  27. }
  28. public static void main(String args[])
  29. {
  30. JavaExample obj = new JavaExample();
  31. int numarr[] = {101,5,18,11,80, 67};
  32. System.out.print("Original array: ");
  33. obj.printArr(numarr);
  34. //calling method for selection sorting
  35. obj.selectionSort(numarr);
  36. System.out.print("Sorted array: ");
  37. obj.printArr(numarr);
  38. }
  39. }

输出:

Java 程序:选择排序 - 图1

相关的 Java 示例

  1. Java 程序:对字符串执行冒泡
  2. Java 程序:按升序对数组进行排序
  3. Java 程序:升序和降序冒泡排序
  4. Java 程序:二分搜索
  5. Java 程序:线性搜索