算法基礎之插入選擇排序

選擇排序
選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理是每一次從待排序的數據元素中選出最小(或最大)的一個元素,存放在序列的起始位置,直到全部待排序的數據元素排完。

package wck.sort;
/**
 * Created on 18/9/7.
 */

/**
 * @program: demo
 * @description: 選擇排序
 * @author: wck
 * @create: 2018-09-07 15:19
 **/
public class SelectSort {

    //選擇排序
    final static int[] a = {6,5,4,3,2,1};

    static void sort(int[] arr){
            //第一層循環旨在紀錄當前元素,以及向後續移動偏移量的控制
            for (int i=0;i<arr.length;i++){
                //當前最小所在索引,也是當前要存儲元素的位置;
                int min = i;
                //篩選出當前位置,後續所有元素中最小的元素,並交換;
                    for (int j=i+1;j<arr.length;j++){
                        if(arr[j] < arr[min])
                            min = j;
                        switchs(a,i,min);
                    }
              }
    }
    //交換值
    static void switchs(int[] a,int i,int min){
        int s = a[i];
        a[i] =a[min];
        a[min] = s;
    }

    public static void main(String[] args) {
        sort(a);
        for (int j=0;j<a.length;j++)
            System.out.println(a[j]);
    }
}
發佈了47 篇原創文章 · 獲贊 21 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章