选择排序

选择排序:选择排序是现将当前第一个索引记为最小值的索引位置,并将其 与此索引后面的元素比较得到最小值的索引,最后比较跟前面的最小值索引是否相同,不同交换两个索引

的值

实现过程:

实现代码:

    //交换元素函数
    public void swap(int[] arrs, int i, int j) {
        int temp = arrs[i];
        arrs[i] = arrs[j];
        arrs[j] = temp;
    }
public int[] select_Sort(int[] arrs) {
        System.out.println("排序前的元素为:");
        for (int num : arrs) {
            System.out.print(num+" ");
        }
        for(int i = 0; i < arrs.length -1; i++) {
            //将当前第一个元素记为最小值,记录最小值的索引
            int min = i;
            for(int j = i+1; j < arrs.length; j++) {
                //如果当前索引元素值大于下一个索引元素值,最小值索引记为j
                if(arrs[j] < arrs[min]) {
                    min = j;
                }
            }

        System.out.println();
        //打印每一轮的排序结果
        System.out.println("第" + (i+1) +"轮排序:");
        for (int num : arrs) {
         System.out.print(num + " ");
        }

//如果最小值索引改变了,不等于i,交换元素之间的值
            if(min != i) {
                swap(arrs,i,min);
            }
        }
        System.out.println();
        System.out.println("排序后的元素为:");
        for (int num : arrs) {
            System.out.print(num+" ");
        }
        return arrs;
    }
    public static void main(String[] args) {
        Sort sort = new Sort();
        int[] arrs = {4,2,6,8,1,3,5};
        sort.select_Sort(arrs);
    }

结果:

 

posted @ 2018-04-21 17:08  四季写爱  阅读(138)  评论(0编辑  收藏  举报