当前位置:   article > 正文

Java—选择排序

Java—选择排序

选择排序是一种简单但高效的排序算法。它的基本思想是从未排序的部分中选择最小(或最大)的元素,并将其放置在已排序部分的末尾。

实现步骤

具体实现选择排序的步骤如下:

  1. 遍历数组:从数组的第一个元素开始,依次遍历到倒数第二个元素。假设数组长度为n,则需要进行n-1次遍历。
  2. 查找最小元素:在当前未排序部分中,通过比较找到最小的元素。
  3. 交换元素:将最小元素与当前位置的元素交换位置,将最小元素放到已排序部分的末尾。
  4. 继续循环:重复执行上述步骤,直到所有元素都被排序完成。

选择排序的关键点在于每次遍历时,都会找到当前未排序部分中的最小元素,并将其放置在已排序部分的末尾。这样,在每一次遍历后,已排序部分都会增加一个元素,未排序部分减少一个元素,直到最后所有的元素都被排序完成。

选择排序的时间复杂度为O(n^2),其中n是数组的长度。尽管在大规模数据排序时性能相对较差,但对于小规模或部分有序的数组,选择排序是一种简单有效的排序算法

代码实现

下面是选择排序的示例代码(使用Java语言实现):

  1. public class SelectionSort {
  2. public static void selectionSort(int[] arr) {
  3. int n = arr.length;
  4. // 遍历数组
  5. for (int i = 0; i < n-1; i++) {
  6. // 找到未排序部分中的最小元素的索引
  7. int minIndex = i;
  8. for (int j = i+1; j < n; j++) {
  9. if (arr[j] < arr[minIndex]) {
  10. minIndex = j;
  11. }
  12. }
  13. if(minIndex != i){
  14. // 将最小元素和当前位置交换
  15. int temp = arr[minIndex];
  16. arr[minIndex] = arr[i];
  17. arr[i] = temp;
  18. }
  19. }
  20. }
  21. public static void main(String[] args) {
  22. int[] arr = {64, 25, 12, 22, 11};
  23. System.out.println("原始数组:");
  24. for (int num : arr) {
  25. System.out.print(num + " ");
  26. }
  27. selectionSort(arr);
  28. System.out.println("\n排序后的数组:");
  29. for (int num : arr) {
  30. System.out.print(num + " ");
  31. }
  32. }
  33. }

测试结果

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/624504
推荐阅读
相关标签
  

闽ICP备14008679号