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

    选择排序(Selection Sort)

    • 概念

       选择排序就是从头至尾扫描序列,找出最小的一个元素,和第一个元素交换,接着从剩下的元素中继续这种选择和交换方式,最终得到一个有序序列。它是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。好处就是不占用额外的内存空间了吧。

                

    • 步骤

       首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。

        再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。

        重复第二步,直到所有元素均排序完毕。

    • Java代码实现
    public class SelectionSort {
    
        public void selectionSort(Integer arr[]){
            //先判断数组元素是否只有一个以下,若只有一个就不用排序
            if(arr.length<=1) return;
            for(int i=0;i<arr.length-1;i++)
                for(int j=i;j<arr.length-1;j++) {
                    if(arr[i]>arr[j+1]) {
                        int temp = arr[i];
                        arr[i] = arr[j+1];
                        arr[j+1]=temp;
                    }
                }
        }
        public static void main(String[] args) {
            Integer arr[] = {8,6,3,5,2,1};
            System.out.println("排序前的数组:"+Arrays.toString(arr));
            SelectionSort selectionSort = new SelectionSort();
            selectionSort.selectionSort(arr);
            System.out.println("排序后的数组:"+Arrays.toString(arr));
            //最终输出结果:
            //排序前的数组:[8, 6, 3, 5, 2, 1]
            //排序后的数组:[1, 2, 3, 5, 6, 8]
    
        }
    
    }
  • 相关阅读:
    react-router刷新页面Cannot GET 问题
    react学习之弹出层
    react学习之js-xlsx导入和导出excel表格
    c#串口通信并处理接收的多个参数
    react与微信小程序
    promise知识点小结
    汇编命令小记
    Firebase-config 在android中的使用
    python:html元素解析
    Toast实现源码解析
  • 原文地址:https://www.cnblogs.com/javaisbest/p/12965968.html
Copyright © 2011-2022 走看看