简单选择排序

来源:互联网 发布:windows活动目录管理 编辑:程序博客网 时间:2024/04/28 21:43
/** * 简单选择排序,先确定一次循环的最大值,找出最大值之后载置换,节省了置换的次数 * */public class SimpleSelectSort {    public static void main(String[] args) {        SSSmethod M = new SSSmethod();        int[] data = { 4, 5, 6, 8, 1, 3, 7, 9, 2 };        int max, i, j;        for (i = 0; i < data.length; i++) {            max = i;          //将当前下标定义为最大值            for (j = i + 1; j <= data.length - 1; j++) {                if (data[j] > data[max]) {                    max = j;          //找出最大值下标                }            }            if (i != max) {           //最大值下标改变时交换                M.swap(data, i, max);            }        }        M.print(data);    }}class SSSmethod {    public SSSmethod() {    }    void swap(int[] a, int b, int c) {        int k;        k = a[b];        a[b] = a[c];        a[c] = k;    }    void print(int[] a) {        for (int i : a) {            System.out.print(i + "->");        }    }}
0 0