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

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


原理

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));
        }
    }

运行结果:


相关文章
|
6月前
|
搜索推荐 算法 Python
不了解冒泡排序的原理?
不了解冒泡排序的原理?
51 5
|
搜索推荐 算法
图解算法--排序算法
1.冒泡排序算法 2.选择排序算法 3.插入排序算法 4.希尔排序算法 5.归并排序算法 6.快速排序算法
28910 6
|
6月前
|
Java
LowB三人组--插入排序原理和java实现
LowB三人组--插入排序原理和java实现
|
6月前
|
算法
lowB三人组---冒泡排序原理和实现
lowB三人组---冒泡排序原理和实现
|
6月前
选择排序(多方式)
选择排序(多方式)
|
存储 人工智能 搜索推荐
冒泡排序:了解原理与实现
冒泡排序:了解原理与实现
84 0
|
搜索推荐
冒泡排序的原理
冒泡排序算法的原理如下: 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3.针对所有的元素重复以上的步骤,除了最后一个。 4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比比较 白话就是:比如有6个数,你需要比较5趟,这个是固定死的
244 0
|
算法
算法初识---选择排序
一、算法内容 选择排序的内容比较简单,大体上说就是,先确定一个数字为最小,然后从他后面的数中来寻找是否有比他更小的数,如果有便将两者交换,这个过程完成后,第一个数字就以及被排好序,第一个数字为最小的,然后将第二个数字定为最小,再从它的后面找是否有比它小的,如果有,便和它交换,从而排好第二个数位,以此类推直到将最后一个数排好。
74 0
LowB三人组--选择排序原理和实现
LowB三人组--选择排序原理和实现
LowB三人组--选择排序原理和实现
|
机器学习/深度学习
快速排序的原理及代码
给定你一个长度为 nn 的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。
114 0