程序员社区

选择排序

原理:对于给定的一组记录,经过一轮比较后得到最小的记录,然后将该记录与第一个记录进行交换;重复操作,直到进行比较的记录只有一个时为止。

 

注意:程序里要有判断是否是最大值,否则第一个会成为最大值

 

 

SelectSort

package 选择排序;

public class SelectSort {

    public void sort(int a[]) {
        for (int i = 0; i < a.length; i++) {
            int min = a[i];
            int n = 0;
            // System.out.println("min:"+min);
            for (int j = i; j < a.length; j++) {
                if (a[j] < min) {
                    min = a[j];
                    n = j;
                }
            }
            if (n != 0) {
                a[n] = a[i];
                a[i] = min;
            }

        }
    }
}

test

package 选择排序;

public class Test01 {
    public static void main(String[] args) {
        int a[] = {5,4,9,8,7,6,0,1,3,2};
        SelectSort selectSort = new SelectSort();
        selectSort.sort(a);
        for(int i = 0;i<a.length;i++)
        System.out.println(a[i]);
    }
}

0
1
2
3
4
5
6
7
8
9

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 选择排序

一个分享Java & Python知识的社区