mightcell

导航

选择排序

选择排序

  • 原理

    • 第一次从数据中选出最小的元素,放置序列的起始位置 \([0,n-1]\)
    • 第二次从数据中选出最小的元素,放置序列第二个位置 \([0,n-2]\)
    • ...
  • 排序过程

    • 原始序列:{7, 1, 3, 2, 5, 8}
      第一次:{1,7,3,2,5,8}
      第二次:{1,2,3,7,5,8}
      第三次:{1,2,3,7,5,8}
      第四次:{1,2,3,5,7,8}
      

代码实现

public class Solution {
    
    public void selectSort(int[] arr) {
        int len = arr.length;
        for (int i = 0; i < len; i++) {
            int minIndex = i;
            for (int j = i + 1; j < len; j++) {
                minIndex = arr[minIndex] > arr[j] ? j : minIndex;
            }
//            交换两个元素
            int temp = arr[minIndex];
            arr[minIndex] = arr[i];
            arr[i] = temp;
            
        }
        
    }
}

posted on 2022-06-14 14:25  丹江口阿斯顿  阅读(18)  评论(0编辑  收藏  举报