排序算法-简单选择排序
文章目录
- 1、基本介绍
- 2、选择排序的思想
- 3、选择排序思路分析图
- 4、代码实现
1、基本介绍
选择排序属于内部排序算法,是从预排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的
2、选择排序的思想
选择排序(select sorting)也是一种简单的排序方法。它的基本思想是:第一次从 arr[0] ~ arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1] ~ arr[n-1]中选取最小值,与arr[1]|交换,第三次从arr[2] ~ arr[n-1]中选取最小值,与arr[2]交换…第 i 次从arr[i-1] ~ arr[n-1]中选取最小值,与arr[i-1]交换… 第n-1次从arr[n-2] ~ arr[n- 1]中选取最小值,与arr[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列。
3、选择排序思路分析图
4、代码实现
package com.yao.sort;import java.util.Arrays;/*** @Author: Yao* @Date: 2021/10/14 16:31* 选择排序*/
public class SelectSort {public static void main(String[] args) {//待排序的数组int [] arr = new int[]{101,-9,5,2};selectSort(arr);System.out.println(Arrays.toString(arr));}/*** 选择排序* @param array 待排序的数组*/public static void selectSort(int [] array){for (int i = 0; i < array.length - 1; i++) {int index = i;int min = array[i];for (int j = i + 1; j < array.length; j++) {if (min > array[j]){index = j;min = array[j];}}if (index != i){array[index] = array[i];array[i] = min;}}}
}
排序算法-简单选择排序相关推荐
- java中的排序算法——简单选择排序,树形选择排序与堆排序(一)
package com.sort; /** * 选择排序: * 简单选择排序,树形选择排序与堆排序 * */ public class SelecSortDemo { /** * ----- ...
- 排序算法——简单选择排序(PythonJava)
基本思想 在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换:然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素( ...
- 排序算法 | 简单选择排序,算法的图解、实现、复杂度和稳定性分析
今天讲解一下简单选择排序的原理以及实现.复杂度和稳定性分析 这个内容很简单,轻松加愉快,很快就过了~ 目录 简单选择排序 1 基本思想 2 动态图解 3 代码 4 复杂度分析 简单选择排序 1 基本思 ...
- 排序算法之选择排序(简单选择排序、堆排序)
选择排序(简单选择排序.堆排序) 选择排序 简单选择排序 概念 算法实现 堆排序 概念 算法实现 后续 选择排序 选择排序的基本思想是:每一趟在待排序元素中选取关键字最小(或最大)的元素加入有序子序列 ...
- 堆排序算法c语言筛选法,【排序】排序算法之选择排序
排序算法之选择排序 罗朝辉(http://www.cppblog.com/kesalin) 转载请注明出处 排序是数据处理中经常使用的一种重要运算,在计算机及其应用系统中,花费在排序上的时间在系统运行 ...
- 【排序算法】选择排序(Selection sort)
选择排序(Selection sort)是一种简单直观的排序算法. 选择排序介绍 它的基本思想是: 首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置:接着,再从剩余未排序的元 ...
- 【排序算法】选择排序(C语言)
[排序算法]-- 选择排序 目录 一.选择排序的原理 二.选择排序的代码实现 三.选择排序的优化 1. 优化思路 2. 排序优化后问题 3. 优化代码的实现 四.选择排序的效率 一.选择排序的原理 ...
- 排序---初级排序算法(选择排序、插入排序和希尔排序)
写在前面的话: 一枚自学Java和算法的工科妹子. 算法学习书目:算法(第四版) Robert Sedgewick 算法视频教程:Coursera Algorithms Part1&2 本文 ...
- 函数模板案例_利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试
案例描述: 利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试 #include <iostream& ...
最新文章
- 有关Linux下request.getRealPath(/)获取路径的问题
- kernelbasedll下载_kernel32.dll
- BZOJ4516: [Sdoi2016]生成魔咒
- 科研牛人是如何看文献的?
- UVA 11825 Hackers' Crackdown 状态DP
- CAN笔记(11) 位时序
- html5 js阻塞加载,js无阻塞加载和defer、async详解_白峰_前端开发者
- UVA1200 LA2972 POJ2295 ZOJ2492 A DP Problem【输入】
- springboot整合postgresql_SpringBoot应用和PostgreSQL数据库部署到Kubernetes上的一个例子-阿里云开发者社区...
- 校园网IPv6免流上网
- 2022年热传递与热物理国际研讨会(HTT 2022)
- 健身房菜鸟入门小常识
- xman的思维导图快捷键_macz技巧分享:思维导图XMind快捷键汇总
- ASP.NET 三层架构技术 人力资源管理系统项目HR (深入WebServic
- 黑马程序员_毕向东_JavaScript视频教程--学习笔记
- 云储存服务器系统内蒙古,内蒙古【存储服务器】怎么选_星际云储
- iOS 像素图转高清大图
- 那些年,我们画过的圣诞树
- android微信支付毁掉,android微信支付 需要注意的坑
- docker启动ssh、xrdp命令