• 选择排序的java实现


    选择排序的实现原理:从指定的n条记录中获取最大值或者最小值放在最开始位置,然后从第二个元素继续遍历取出剩余元素的最大值或者最小值,直到元素个数为0。

    选择排序的时间复杂性分析:O(n2),排序时数据交换的次数比冒泡排序要少,所以n值较小时,选择排序比冒泡排序快。

    选择排序的算法稳定性:选择排序会交换相等元素的位置,不是稳定性算法。

    选择排序的java代码实现:

    public class Selection{
    
        public static void selectSort(Comparable[] arr){
            for (int i = 0; i < arr.length - 1; i ++){
                int minIndex = i;
                for (int j = i + 1; j < arr.length; j ++){
                    if (greater(arr[minIndex], arr[j])){
                        minIndex = j;
                    }
                }
                exch(i, minIndex, arr);
            }
    
        }
    
        public static boolean greater(Comparable a, Comparable b){
            return a.compareTo(b) > 0;
        }
    
        public static void exch(int i, int j, Comparable[] arr){
            Comparable temp = arr[i];
            arr[i] = arr [j];
            arr[j] = temp;
        }
    
        public static void main(String[] args) {
            Integer[] arr = {1,2,5,4,3,10,2,4,7,8,9};
            Selection.selectSort(arr);
            System.out.println(Arrays.toString(arr));
        }
    
    }
  • 相关阅读:
    STL-- vector中resize()和reserve()区别
    计算机网络--网络层
    计算机网络--数据链路层
    算法--排序算法
    数据结构--树--哈夫曼树
    数据结构--树--AVL树
    数据结构--树--二叉查找树
    数据结构--树--红黑树
    深入理解计算机系统读书笔记
    C++面试笔记--字符串
  • 原文地址:https://www.cnblogs.com/8593l/p/15000015.html
Copyright © 2020-2023  润新知