• java算法(一) 直接选择排序


    一、基本概念

    首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置(注:要把最大最小的元素和起始的元素交换),

    然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

     直接选择排序

    二、算法特点

    是否稳定:  false

    平均时间复杂度:O(n^2)

    最差时间复杂度:O(n^2)

    最优时间复杂度:O(n^2)

    package com.jiafuwei.java;
    
    
    
    /**
     * java 选择排序
     * @author jfw
     *
     */
    public class SelectionSort {
        public static void main(String[] args) {
            int [] collections = {36,23,56,789,342,456,34,7,234,4578,32};
            SelectionSort selectionSort = new SelectionSort();
            selectionSort.sort(collections);
            for (int i = 0; i < collections.length; i++) {
                System.out.print(collections[i]+" ");
            }
        }
        
        public void sort(int [] data) {
            for(int k=0;k<data.length;k++){
                int min = k;
                //先把这一圈循环中的第一个数和后面的数进行比较 如果大于后面的数 然后把后面数的下标值记录下来
                //注意 这里i=k 是从k后面开始循环
                for(int i=k;i<data.length;i++){
                    if(data[min]>data[i]){
                        min = i;
                    }
                }
                //把这一圈循环中的一个数记录下来
                int temp = data[k];
                //把这一圈循环中的一个数变成最小的数
                data[k] = data[min];
                //把以前最小数的位置  改变为当时的第一个数
                data[min] = temp;
            }
        }
    }
  • 相关阅读:
    新手讲排序:希尔排序
    安装部署VMware vSphere 5.5文档 (6-6) 集群和vMotion
    安装部署VMware vSphere 5.5文档 (6-5) 安装配置vCenter
    同步VDP时间
    vdp配置
    python定义常量
    OpenStack Keystone V3 简介
    nginx + uswgi +django
    安装系统
    Standard NSD file
  • 原文地址:https://www.cnblogs.com/jiafuwei/p/6025931.html
Copyright © 2020-2023  润新知