zoukankan      html  css  js  c++  java
  • 选择排序的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));
        }
    
    }
  • 相关阅读:
    十二周作业
    十一周作业
    第十周作业
    第九周作业
    第八周作业
    第七周作业
    2019年第六周作业
    第五周作业总结
    介绍自己
    第一学期总结
  • 原文地址:https://www.cnblogs.com/8593l/p/15000015.html
Copyright © 2011-2022 走看看