Java 选择排序

2018-10-09  本文已影响0人  徘徊0_

Java 选择排序,先看下面代码

private static int[] selectSort(int[] numbs) {

        for (int i = 0; i < numbs.length; i++) {
            int minIndex = i;// 将当前下标定义为最小值下标
            for (int j = i+1; j <numbs.length; j++) {
                if (numbs[minIndex] > numbs[j]) {
                    minIndex = j;
                }
            }

            //如果不是同一个,就交换
            if (i != minIndex) {
                int temp = numbs[i];
                numbs[i] = numbs[minIndex];
                numbs[minIndex] = temp;
            }
        }
        return numbs;
    }

测试代码:

public static void main(String[] a) {

        int[] numbs = {1, 3, 4, 2, 9, 0,1};
        System.out.print("This is : " + Arrays.toString(selectSort(numbs)));

    }

运行结果:


运行结果
基本思想

1,每一次都从待排序中找出最小的元素,放到已排序后面,直到全部记录排序完毕。
比如:上面例子中,i=0的时候,循环到 j =5 该条件成立,此时的值为:0,比 1小,故进入下面的 if 语句中,执行交换操作!!以此类推,循环执行完 i = 1 ,2, 3.....(每次都是找出最小的元素,放到已经排序完成的序列后)

上一篇 下一篇

猜你喜欢

热点阅读