zoukankan      html  css  js  c++  java
  • 排序——选择排序

    选择排序

    两次循环,大小循环,大循环来控制需要交换的位置,

    小循环寻找未排序的序列中的最小值的位置,记录位置,然后与大循环记录的位置进行交换。

    public class SelectSort {
        public void selectSort(Integer[] arrays){
            if(arrays.length == 0 || arrays == null) return;
            int len = arrays.length;
            for(int i = 0; i < len - 1; i++){
                int min = i;
                for(int j = i + 1; j < len; j++){
                    if(arrays[min] > arrays[j]) {
                        min = j;
                    }
                }
                if(min != i) swap(arrays, min, i);
            }
        }
    }
    

      

    同样存在会多排序的次数

    4 2 1 6 3 6 0 -5 1 1
    -5 2 1 6 3 6 0 4 1 1
    -5 0 1 6 3 6 2 4 1 1
    -5 0 1 6 3 6 2 4 1 1
    -5 0 1 1 3 6 2 4 6 1
    -5 0 1 1 1 6 2 4 6 3
    -5 0 1 1 1 2 6 4 6 3
    -5 0 1 1 1 2 3 4 6 6
    -5 0 1 1 1 2 3 4 6 6
    -5 0 1 1 1 2 3 4 6 6(多余的)

  • 相关阅读:
    ACE_TASK学习
    tomcat:8005端口启动失败的解决办法
    centos7下安装jdk8
    解决github下载慢的一种方法
    page
    数据库
    做jar
    mvc:annotation-driven
    web.xml
    jsp九大内置对象el11内置对象
  • 原文地址:https://www.cnblogs.com/SkyeAngel/p/8658079.html
Copyright © 2011-2022 走看看