選擇算法理解

package com.joker.counts;
/**
 * 選擇排序法:
原理是循環嵌套遍歷數組,外層循環的數字和層循環的數字比較,
內循環找出最大或者最小的數字,和外循環的數字比較,
如果大於或者小於,便交換兩者順序。
這種排序時間複雜度爲O(n*n)
 * @author Joker
 *2018年10月11日 下午5:26:41
 */
public class SelectSort {
    public static void main(String[] args) {
        int [] counts = new int[10];
        int value = 0;
        for(int i = 0;i<counts.length;i++){
            value+=3;
            counts[i]=value;
        }
        for(int i =0;i<counts.length-1;i++){
            for(int k =i+1;k<counts.length;k++){
                if(counts[i]<counts[k]){
                    swap(counts,i,k);
                }
            }
        }
        for(int i =0;i<counts.length;i++){
            System.out.println(counts[i]);
        }
    }
    public static void swap(int[] arr, int i, int j) {
       int tmp = arr[i];
        arr[i] = arr[j];
        arr[j] = tmp;
//        arr[i] = arr[i] ^ arr[j];
//        arr[j] = arr[i] ^ arr[j];
//        arr[i] = arr[i] ^ arr[j];
    }
}
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章