选择排序算法

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();
    }

}

 

posted @ 2015-05-05 19:25  ~风轻云淡~  阅读(336)  评论(0编辑  收藏  举报