选择排序算法

package com.cn.gao;

//选择排序

public class SelectSort {

    public static final int SIZE = 10;

    //选择排序算法

    public static void selectSort(int[] a){

        int temp,min;

        for(int i=0;i<a.length-1;i++){

            min=i;

            //找出最小元素下标

            for(int j=i+1;j<a.length;j++){

                if(a[min]>a[j]){

                    min=j;

                }

            }

            //交换元素

            if(min!=i){

                temp=a[i];

                a[i]=a[min];

                a[min]=temp;

            }

            //输出每步排序结果

            System.out.print("第"+(i+1)+"步的排序结果为:");

            for(int j=0;j<a.length;j++){

                System.out.print(" "+a[j]);

            }

            System.out.println();

        }

    }

    

    public static void main(String[] args) {

        int[] a = new int[SIZE];

        //为数组赋值

        for(int i=0;i<a.length;i++){

            a[i] = (int) (100 + Math.random()*100);

        }

        //输出排序前的数组

        System.out.println("排序前的数组为:");

        for(int i=0;i<a.length;i++){

            System.out.print(a[i]+" ");

        }

        System.out.println();

        //对数组排序

        selectSort(a);

        //输出排序后的数组

        System.out.println("排序后的数组为:");

        for(int i=0;i<a.length;i++){

            System.out.print(a[i]+" ");

        }

        System.out.println();

    }



}

 

你可能感兴趣的:(选择排序)