Java实现选择排序

选择排序思想就是选出最小或最大的数与第一个数交换,然后在剩下的数列中重复完成该动作。

package Sort;

import java.util.Arrays;

public class SelectionSort {

    public static int selectMinKey(int[] list, int beginIdx) {
        
        int idx = beginIdx;
        int temp = list[beginIdx];
        for(int i = beginIdx; i < list.length; i++) {        
            if(temp > list[i]) {
                temp = list[i];
                idx = i;
            }
        }
        
        return idx;
    }
    
    public static int[] sort(int[] list) {
        
        int temp;
        for(int i = 0; i< list.length; i++) {
            int minKey = selectMinKey(list, i);
            if(minKey != i) {
                temp = list[i];
                list[i] = list[minKey];
                list[minKey] = temp;
            }
        }
        
        return list;
    }
    
    
    public static void main(String[] args) {
        int[] list = {5,4,3,2,1,6,8,7};
        System.out.println(Arrays.toString(sort(list)));
    }
}

 

posted @ 2016-05-11 14:01  finalboss1987  阅读(112)  评论(0编辑  收藏  举报