选择排序

选择排序在每一次的遍历中会找到一个最大(小)值,然后将该值放到已排序的末尾。重复这个过程直到所有的值都处在一个有序状态。

算法描述

数组长度为n

  1. 初始有序序列长度为0,无序序列长度为n;

  2. 第i次遍历后,选出最大(小)值放在有序序列的末尾,有序长度为i,无序序列长度为n-1;

  3. n-1遍历后,排序完成;

算法代码

public void sort(int[] arr, int n) {
   
    for(int i = 0; i < n -1; i++) {
        int index = i;
        for(j = i + 1; j < n; j++) {
            if(arr[index] > arr[j]) {
                index = j;
            }
        }
        
        int temp = arr[i];
        arr[i] = arr[index];
        arr[index] = temp;
    }
}
©2024 Rayjun    PowerBy Hexo