JAVA之选择排序

来源:互联网 发布:java 方法区 内存溢出 编辑:程序博客网 时间:2024/06/06 14:05

选择排序基本思想:从数列第一位开始,遍历之后的所有剩余元素,找出其中最小的一个放到第一位,接下来再从第二位开始,找出数组中第二小的数,以此类推进行排序。

案例:

   public static void main(String[] args) {        int a [] = {4,10,1,9};        int c []= chooseSort(a);        for (int i = 0; i < c.length; i++) {            System.out.print(c[i]+"  ");        }    }    private static int[] chooseSort(int[] a) {        int minIndex = 0;        for (int i=0;i<a.length-1;i++){            minIndex = i;            for(int j=i+1;j<a.length;j++){                if(a[minIndex]>a[j]){                    minIndex  = j;                }            }            if(minIndex != i){                int temp = a[i];                a[i] = a[minIndex];                a[minIndex] = temp;            }        }        return  a;    }

流程分析:

数组:int a [] = {4,10,1,9};

---------------------------------------------------------------------------------------------

第一趟排序 : 

排序前数据 :4  10   1   9

数据中1是最小,放到首位,即4和1进行交换

排序结果:1   10  4   9

---------------------------------------------------------------------------------------------

第二趟排序 : 

排序前数据 :1  10   4   9

数据中4是最小,4和10进行交换

排序结果:1   4  10   9

---------------------------------------------------------------------------------------------

第三趟排序 : 

排序前数据 :1   4  10   9

数据中9是最小,10和9进行交换

排序结果:1  4  9  10  

---------------------------------------------------------------------------------------------

总结:只是简单的总结一下选择排序。望路过的大神们多多指导指导。谢谢!!!