图解数据结构和算法(二) · 选择排序(Selection Sort) java实现

图解数据结构和算法(二) · 选择排序(Selection Sort) java实现

使用java实现选择排序

简介

选择排序是每次循环都从未被选择的数组中选取一个最小值放在数组前面。第一次循环将全部数组中的最小值放在下标为0的位置,此时,下标为0的数被视为已被选择数组;第二次循环将从未被选择的数组从选出第二最小值放在下标为1的位置……由此循环到数组中不包含未被选择的数为止。

排序过程

实现

public class SelectSort {

    private static Integer[] sortArrays = {256,50,354,64,213,65,323,65,243};

    public static void main(String[] args) {

        for (int i = 0; i < sortArrays.length; i++) {
            //标记当前索引为最小值
            int minNumber = i;

            int j = i + 1; //从下一个开始遍历数组
            for (;j < sortArrays.length; j++) {
                if(sortArrays[j] < sortArrays[i]){
                    //寻找最小元素的索引
                    minNumber = j;
                }
            }
            //遍历完成后,minNumber即是数组中最小值的索引,进行位置的互换即可
            Integer tmp = sortArrays[i];
            sortArrays[i] = sortArrays[minNumber];
            sortArrays[minNumber] = tmp;
        }
    }
}

总结

选择排序的实现原理很简单也很好理解。但是他的时间复杂度较高,任何情况下都是O(n2)

上一章(图解数据结构和算法(一) · 插入排序)

下一章(图解数据结构和算法(三) · 冒泡排序)

# java  排序 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×