• 排序算法---简单选择排序


    不稳定

    i从0开始,

    第i趟排序中,从n-i个记录中选取关键字第i小的元素,作为有序序列的第i个元素

    以此类推,直到有序序列包含所有的待排序关键字

        public static void selectSort(int[] array){
            //n个元素,一共需要进行n-1趟选择排序
            for(int i=0;i<array.length-1;i++){//第i趟
                //用于记录在第i趟选择排序的过程中,后n-i个元素中最小的下标。。。
                //现将后n-i个元素的第一个视为最小的,然后比较之后的,有比它还小的,替换该值即可
                int flag = i;
                for(int j=i+1;j<array.length;j++){
                    if(array[j]<array[flag]){
                        flag = j;
                    }
                }
                //该趟操作完成之后,flag中记录的就是这n-i个元素中最小元素的下标,将flag位置的元素和i位置的元素交换即可
                //如果在某一趟中,第一个元素就是最小的,就不用交换了
                if(flag != i){
                    array[i] = array[i]^array[flag];
                    array[flag] = array[i]^array[flag];
                    array[i] = array[i]^array[flag];
                }
                
                System.out.print("第"+(i+1)+"趟:");
                listArray(array);
            }
        }

    不论什么情况下,时间复杂度:O(n^2)

  • 相关阅读:
    python_6
    python_day4
    python_day3
    python_day2
    python
    python入门
    jQuery之前端国际化jQuery.i18n.properties
    转载!网页中插入百度地图
    jQuery.validate 中文API
    Web移动端Fixed布局的解决方案
  • 原文地址:https://www.cnblogs.com/duanjiapingjy/p/9556431.html
Copyright © 2020-2023  润新知