排序算法(1)----选择排序算法
这篇博客分为两个部分:
- 选择排序算法基本思想
- 代码实现与解析
一.选择排序算法基本思想:
* 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)----选择排序算法相关推荐
- 数据结构与算法:选择排序
数据结构与算法:选择排序 雪柯 大工生物信息 提笔为写给奋进之人 已关注 8 人赞同了该文章 引用自算法图解,作者[美] Aditya Bhargava 译袁国忠 特别备注:本书非原创,但部分内容自己 ...
- 排序---初级排序算法(选择排序、插入排序和希尔排序)
写在前面的话: 一枚自学Java和算法的工科妹子. 算法学习书目:算法(第四版) Robert Sedgewick 算法视频教程:Coursera Algorithms Part1&2 本文 ...
- 函数模板案例_利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试
案例描述: 利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试 #include <iostream& ...
- 排序算法 | 直接选择排序,算法的图解、实现、复杂度和稳定性分析
排序算法 | 直接选择排序,算法的图解.实现.复杂度和稳定性分析 目录 1.直接选择排序的原理 2.图解直接选择排序 3.算法代码实现 4.算法复杂度分析.稳定性分析 直接选择排序 1.直接选择排序的 ...
- php三个数字比较大小排序,php中常用的4种实现数字大小排序的冒泡选择等算法函数代码...
分别用冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中按照从小到大的顺序进行排序. 本站收录这篇文章php中常用的4种实现数字大小排序的冒泡选择等算法函数代码,详细解说文章中相关排序 冒泡 ...
- 数据结构与算法之选择排序
数据结构与算法之选择排序 目录 基本介绍 选择排序思想 代码实现 1. 基本介绍 选择排序也属于内部排序法,是从排序的数据中,按指定的规则选出某一元素,再依次交换位置后达到排序的目的 2. 选择排序思 ...
- 堆排序算法c语言筛选法,【排序】排序算法之选择排序
排序算法之选择排序 罗朝辉(http://www.cppblog.com/kesalin) 转载请注明出处 排序是数据处理中经常使用的一种重要运算,在计算机及其应用系统中,花费在排序上的时间在系统运行 ...
- 选择排序算法流程图_常用排序算法之选择排序
前两天给大家分享了冒泡排序和插入排序(没关注的同学,可以关注后查看历史消息),今天继续给大家分享另一种常用的排序算法--选择排序. 选择排序 选择排序和插入排序很相似,也区分已排序区间和未排序区间,选 ...
- 排序算法之选择排序(简单选择排序、堆排序)
选择排序(简单选择排序.堆排序) 选择排序 简单选择排序 概念 算法实现 堆排序 概念 算法实现 后续 选择排序 选择排序的基本思想是:每一趟在待排序元素中选取关键字最小(或最大)的元素加入有序子序列 ...
- JavaScript算法 之 选择排序
原文来自:微信公众号HTML5学堂 算法的基本概念 算法是什么,它有何作用 为解决一个问题而采取的方法和步骤,称为算法. 我们可以把算法看成一本"福字剪纸教程",其中每一种算法就是 ...
最新文章
- 我画了35张图就是为了让你深入 AQS
- questasim linux安装包,Ubuntu16.04下Questasim10.7安装(64bit)全攻略
- 图片优化_Web 性能优化: 图片优化让网站大小减少 62%
- 04.卷积神经网络 W4.特殊应用:人脸识别和神经风格转换
- 本硕皆数学专业,博士转行生物后,他发表了学校首篇Nature
- C# Task 用法
- 赣州服务器系统,赣州排名P级别服务器厂
- 咱们开始吧!第一次作业
- 为什么中国人少有人得到诺贝尔奖呢?
- 南唐后主李煜诗词选编
- 什么是Vagrant 以及作用
- 003 IP网络技术基础
- 问题 K: 蜗牛1534
- AUTOSAR OTA升级
- iimap服务器没有响应,解决imap被vimIM和谐掉的问题
- 蚁群算法 python
- QTableView基本用法讲解,Qt表格控件的使用方法
- TCPIP远程网络电子健康码扫码设备|二维码扫码门禁机HX-QR86L-IP在校园复学防疫领域的应用
- 医学自然语言处理相关资源整理
- C语言编程规范学习笔记和总结(附华为编程规范机试参考试题)
热门文章
- python库的安装方法_Python库的安装方法
- 台式计算机usb口不识别鼠标,usb鼠标不能识别怎么办解决教程
- vivo6.0系统怎么样不用root激活XPOSED框架的方法
- 医疗人工智能市场有多大?
- [Angularjs]angular ng-repeat与js特效加载先后导致的问题
- 阮一峰:炫耀从来不是我的动机,好奇才是
- OUTLOOK 的PST文件和OST文件的区别
- python中re模块的函数_python中的re模块,常用函数介绍
- java rmi 多ip_在rmi连接中客户端指定一个ip地址,但程序执行中却转换成另一个地址...
- android 8.0 三星,这些三星手机竟到2019年才能升级安卓8.0:等到头发都白了