# select sort 选择排序
选择排序(select sort)
1.基本描述
其实也是差不多的思想,把数组分为一部分有序,一部分无序(未排序)。在未排序的数列中找到最大或者最小,然后放到未排序的首部(已排序尾部)。知道所有元素排序完毕。
稳定性 不稳定 ,比如 5 6 2 5 ,第一次 5 ,2 交换,5 和6 的相对顺序就被破坏了 (感觉就这个要注意)
时间复杂度
$$
O(N^2)
$$
空间复杂度
$$
O(1)
$$
2.代码实现
public class selectSort {public static void selectSort(int[] array) {int min = 0;for (int i = 0; i < array.length-1; i++) {min = i;for (int j = i+1; j < array.length; j++) {if(array[j]<array[min])min=j;}int temp=array[min];array[min]=array[i];array[i]=temp;}}public static void main(String[] args) {int[] array = {12, 2, 1, 1, 3, 31, 4, 5, 6};selectSort(array);for (int i : array) {System.out.println(i);}}
}
转载于:https://www.cnblogs.com/EsMussSeinHui/p/11149405.html
# select sort 选择排序相关推荐
- C语言Selection Sort选择排序的算法(附完整源码)
C语言Selection Sort选择排序的算法 C语言Selection Sort选择排序的算法完整源码(定义,实现) C语言Selection Sort选择排序的算法完整源码(定义,实现) #if ...
- c++Selection Sort选择排序的实现算法(附完整源码)
C++Selection Sort选择排序的实现算法 C++Selection Sort选择排序的实现算法完整源码(定义,实现,main函数测试) C++Selection Sort选择排序的实现算法 ...
- 经典排序算法(一) —— Selection Sort 选择排序
经典排序算法(一) -- Selection Sort 选择排序 文章目录 经典排序算法(一) -- Selection Sort 选择排序 简介 排序过程 实现 复杂度 简介 选择排序是一种简单直观 ...
- java中的排序算法——简单选择排序,树形选择排序与堆排序(一)
package com.sort; /** * 选择排序: * 简单选择排序,树形选择排序与堆排序 * */ public class SelecSortDemo { /** * ----- ...
- python 选择排序算法
一.选择排序(selection sort) 选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位 ...
- 简单排序——冒泡排序,选择排序,插入排序,对象排序
2019独角兽企业重金招聘Python工程师标准>>> 1)冒泡排序 package sort; /** * 冒泡排序,每次把数组最大值送到未排序部分的最末端 * @author ...
- 20180321选择排序-简单选择排序
2019独角兽企业重金招聘Python工程师标准>>> 前置知识 selection sort 选择排序的基本思想:从待排序的序列中选出最大值(最小值),交换该元素与待排序序列头部元 ...
- 两个for做数据插入_冒泡排序、选择排序、插入排序
排序算法分类 十种常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序. 线性时间非比较类排序:不 ...
- 常用排序算法之选择排序
package com.dalingjia.Interview.sort;/*** 选择排序:每趟都找最小的数放在前面* 首先在末排序列中找到最小的元素,存放到排序序列的起始位置,然后,* 再从剩余未 ...
最新文章
- 编辑神器VIM下安装zencoding
- 题目1201:二叉排序树
- 再谈 Application ProvidedAar
- 路由器 和 交换机 傻傻分不清楚
- SAP CRM One Order CLOSING date change debug
- figma下载_在Figma中进行原型制作的技巧和窍门
- linux中echo命令不输出换行,shell脚本echo输出不换行功能增强实例
- 导入其他spring模块配置
- 神经网络与深度学习——TensorFlow2.0实战(笔记)(五)(Matplotlib绘图基础<1>python)
- Redis 面试题补充与汇总
- C#后台调用oracle存储过程,参数传入的是clob字段,怎样处理
- java遮罩层_页面遮罩层 - javaalex的个人空间 - OSCHINA - 中文开源技术交流社区
- IIS虚拟目录控制类
- 数据绑定(九)Binding的数据校验
- Python之路-Day2
- linux apache 停止命令,linux 下 apache启动、停止、重启命令
- ubb码转换的java类库 ubb2html_ubb代码转换为html
- 第九届蓝桥杯单片机省赛
- 如何剪切视频,只截取视频中间的一部分
- VUE图片裁剪组件,基于VueCropper
热门文章
- 通过实战跑分来展示HBase2.x的写入性能
- Spark性能调优之资源分配
- JavaFX SceneBuilder设置按钮的背景颜色
- 解决kubesphere node-exporter守护进程pod安装失败的问题
- sonarqube启动报错解决办法:Process exited with exit value [es]: 143
- Freemarker基于模板文件静态化代码示例
- python处理表格数据教程_用Python的pandas框架操作Excel文件中的数据教程
- 数据结构:栈、队列、数组、链表、红黑树结构的特点
- malloc和free的深层次分析
- 任务——μ/COS-II读书笔记