这篇博客分为两个部分:

  1. 选择排序算法基本思想
  2. 代码实现与解析
由于这个排序算法比较简单,因此这篇博文就不做过多解释了

一.选择排序算法基本思想:

* 1)
* [选择排序] :小到大排序
* 1.遍历所有未排序的元素,找到最小的那个元素
* 2.将这个元素与未排序序列的第一个元素交换位置
* 3.当剩下一个元素时,排序结束
* O(n*n)

二.代码实现与解析:

public class SelectionSort {static int[] selectionSort(int arr[]) {for (int i = 0; i < arr.length; i++) {int minIndex = i;   //是最小值初始化为待排数组的第一个元素的下标
            for (int j = i; j < arr.length; j++) {   //找到 [i,n) 中的最小值
                if (arr[j] < arr[minIndex]) {minIndex = j;
                }}/*已经找到最小值,现在要执行第二步,交换 min 与 arr[i] 的值*/
            int temp = arr[minIndex];
            arr[minIndex] = arr[i];
            arr[i] = temp;
        }return arr;
    }
}

排序算法(1)----选择排序算法相关推荐

  1. 数据结构与算法:选择排序

    数据结构与算法:选择排序 雪柯 大工生物信息 提笔为写给奋进之人 已关注 8 人赞同了该文章 引用自算法图解,作者[美] Aditya Bhargava 译袁国忠 特别备注:本书非原创,但部分内容自己 ...

  2. 排序---初级排序算法(选择排序、插入排序和希尔排序)

    写在前面的话: 一枚自学Java和算法的工科妹子. 算法学习书目:算法(第四版) Robert Sedgewick 算法视频教程:Coursera  Algorithms Part1&2 本文 ...

  3. 函数模板案例_利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试

    案例描述: 利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试 #include <iostream& ...

  4. 排序算法 | 直接选择排序,算法的图解、实现、复杂度和稳定性分析

    排序算法 | 直接选择排序,算法的图解.实现.复杂度和稳定性分析 目录 1.直接选择排序的原理 2.图解直接选择排序 3.算法代码实现 4.算法复杂度分析.稳定性分析 直接选择排序 1.直接选择排序的 ...

  5. php三个数字比较大小排序,php中常用的4种实现数字大小排序的冒泡选择等算法函数代码...

    分别用冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中按照从小到大的顺序进行排序. 本站收录这篇文章php中常用的4种实现数字大小排序的冒泡选择等算法函数代码,详细解说文章中相关排序 冒泡 ...

  6. 数据结构与算法之选择排序

    数据结构与算法之选择排序 目录 基本介绍 选择排序思想 代码实现 1. 基本介绍 选择排序也属于内部排序法,是从排序的数据中,按指定的规则选出某一元素,再依次交换位置后达到排序的目的 2. 选择排序思 ...

  7. 堆排序算法c语言筛选法,【排序】排序算法之选择排序

    排序算法之选择排序 罗朝辉(http://www.cppblog.com/kesalin) 转载请注明出处 排序是数据处理中经常使用的一种重要运算,在计算机及其应用系统中,花费在排序上的时间在系统运行 ...

  8. 选择排序算法流程图_常用排序算法之选择排序

    前两天给大家分享了冒泡排序和插入排序(没关注的同学,可以关注后查看历史消息),今天继续给大家分享另一种常用的排序算法--选择排序. 选择排序 选择排序和插入排序很相似,也区分已排序区间和未排序区间,选 ...

  9. 排序算法之选择排序(简单选择排序、堆排序)

    选择排序(简单选择排序.堆排序) 选择排序 简单选择排序 概念 算法实现 堆排序 概念 算法实现 后续 选择排序 选择排序的基本思想是:每一趟在待排序元素中选取关键字最小(或最大)的元素加入有序子序列 ...

  10. JavaScript算法 之 选择排序

    原文来自:微信公众号HTML5学堂 算法的基本概念 算法是什么,它有何作用 为解决一个问题而采取的方法和步骤,称为算法. 我们可以把算法看成一本"福字剪纸教程",其中每一种算法就是 ...

最新文章

  1. 我画了35张图就是为了让你深入 AQS
  2. questasim linux安装包,Ubuntu16.04下Questasim10.7安装(64bit)全攻略
  3. 图片优化_Web 性能优化: 图片优化让网站大小减少 62%
  4. 04.卷积神经网络 W4.特殊应用:人脸识别和神经风格转换
  5. 本硕皆数学专业,博士转行生物后,他发表了学校首篇Nature
  6. C# Task 用法
  7. 赣州服务器系统,赣州排名P级别服务器厂
  8. 咱们开始吧!第一次作业
  9. 为什么中国人少有人得到诺贝尔奖呢?
  10. 南唐后主李煜诗词选编
  11. 什么是Vagrant 以及作用
  12. 003 IP网络技术基础
  13. 问题 K: 蜗牛1534
  14. AUTOSAR OTA升级
  15. iimap服务器没有响应,解决imap被vimIM和谐掉的问题
  16. 蚁群算法 python
  17. QTableView基本用法讲解,Qt表格控件的使用方法
  18. TCPIP远程网络电子健康码扫码设备|二维码扫码门禁机HX-QR86L-IP在校园复学防疫领域的应用
  19. 医学自然语言处理相关资源整理
  20. C语言编程规范学习笔记和总结(附华为编程规范机试参考试题)

热门文章

  1. python库的安装方法_Python库的安装方法
  2. 台式计算机usb口不识别鼠标,usb鼠标不能识别怎么办解决教程
  3. vivo6.0系统怎么样不用root激活XPOSED框架的方法
  4. 医疗人工智能市场有多大?
  5. [Angularjs]angular ng-repeat与js特效加载先后导致的问题
  6. 阮一峰:炫耀从来不是我的动机,好奇才是
  7. OUTLOOK 的PST文件和OST文件的区别
  8. python中re模块的函数_python中的re模块,常用函数介绍
  9. java rmi 多ip_在rmi连接中客户端指定一个ip地址,但程序执行中却转换成另一个地址...
  10. android 8.0 三星,这些三星手机竟到2019年才能升级安卓8.0:等到头发都白了