LowB三人组--选择排序原理和实现

简介: LowB三人组--选择排序原理和实现

原理


20191105100746502.gif

public static void main(String[] args) {
        int[] arr = {100,34,29,39,20,79,56};
        selectionSort(arr);
    }
    public static void selectionSort(int[] arr) {
        //原理: 每次找到无序最小的,然后将最小的和本次无序的首位交换位置
        //外层为找的次数,内层为比较和交换次数,内层:开始索引为i+1,
        //外层循环; 找到的次数
        for (int i = 0; i < arr.length - 1; i++) {
            int minIndex = i;
            //内存循环: 无序列表中第一个数和其他的数进行比较 进行比较,找到最小的一个的索引,并和第一个数交换位置
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[minIndex] > arr[j]) {
                    minIndex = j;
                }
            }
            int tmp = arr[i];
            arr[i] = arr[minIndex];
            arr[minIndex] = tmp;
            System.out.println(Arrays.toString(arr));
        }
    }


运行结果:

1dc618a0ed9580ce8bfa6facb208c08f.png



相关文章
|
2月前
|
搜索推荐 算法 Python
不了解冒泡排序的原理?
不了解冒泡排序的原理?
22 5
|
2月前
LowB三人组--选择排序原理和实现
LowB三人组--选择排序原理和实现
|
2月前
|
Java
LowB三人组--插入排序原理和java实现
LowB三人组--插入排序原理和java实现
|
7月前
|
搜索推荐 算法 数据管理
希尔排序原理
希尔排序原理
|
2月前
选择排序(多方式)
选择排序(多方式)
|
8月前
|
存储 人工智能 搜索推荐
冒泡排序:了解原理与实现
冒泡排序:了解原理与实现
51 0
|
11月前
|
搜索推荐
冒泡排序的原理
冒泡排序算法的原理如下: 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3.针对所有的元素重复以上的步骤,除了最后一个。 4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比比较 白话就是:比如有6个数,你需要比较5趟,这个是固定死的
223 0
|
算法
算法初识---插入排序
插入排序将要排序的元素分成两组,已排序的和未排序的。每次将未排序的元素和已排序的元素依次比较,发现已排序序列中元素比待排序元素大则交换他俩的位置。若已排序的元素均比待排序的元素小,不做任何操作,因为算上待排序元素,新的序列仍然有序,进行下一个待排序元素的插入。直到所有元素都都插入到已排序元素中,全部元素排序完毕。
56 0
|
存储 编解码 移动开发
【算法】直接选择排序解析
直接选择排序是指每次都从剩余数据中选出最大或者最小的,将其排在已经排好的有序表后面。
204 0
【算法】直接选择排序解析
|
搜索推荐
排序算法--选择排序
排序算法--选择排序
60 0