选择排序(Selection sort)

  • 基本介绍

选择排序:

每一次从未排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余未排序的元素中选出最小(或最大的)放在已排序序列的末尾,直到全部待排序的数据元素排完。

选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。

  • 算法介绍(后续补充)

  • 性能介绍(后续补充)

  • 优缺介绍(后续补充)

  • 代码展示(以从小到大排序为例)

public class SelectSort {

    public static void main(String[] args){
int[] arr = {1,22,32,2,5,75,46,37,23,99};
int[] arrSort = selectSort(arr);
for(int i = 0; i < arrSort.length; i++){
System.out.println(arr[i]);
}
}
//选择排序
public static int[] selectSort(int[] arr){
int minIndex = 0;
for(int i = 0; i < arr.length-1; i++){
minIndex = i;//用来动态记录较小数字的下标
for(int j = i+1; j < arr.length; j++){
if(arr[minIndex] > arr[j]){
minIndex = j;
}
}
if(minIndex != i){
arr[minIndex] = arr[minIndex] + arr[i];
arr[i] = arr[minIndex] - arr[i];
arr[minIndex] = arr[minIndex] - arr[i];
}
} return arr;
} }

最新文章

  1. [我的试题]Test of String
  2. 【凯子哥带你学Framework】Activity启动过程全解析
  3. linux tail命令的使用方法详解(转)
  4. Windows-007-进程相关命令(netstat、tasklist、taskkill、tskill)实战实例图文详解
  5. C++多继承
  6. 黄聪:如何开启IIS7以上的“IIS6管理兼容性”
  7. PLSQL_基础系列03_合并操作UNION / UNION ALL / MINUS / INTERSET(案例)
  8. CodeForces485B——Valuable Resources(水题)
  9. Volley完全解析
  10. Asp.net MVC学习
  11. Linux终端下 dstat 监控工具
  12. 笔记:XML-解析文档-DOM
  13. .NET面试题系列(十八)常用关键字
  14. [八]基础数据类型之Double详解
  15. [物理学与PDEs]第2章第2节 粘性流体力学方程组 2.6 一维粘性热传导流体动力学方程组
  16. C#递归复习
  17. Nginx配置实际案例
  18. deep learning 以及deep learning 常用模型和方法
  19. docker上部署nginx容器80端口自动转443端口
  20. 基于CART的回归和分类任务

热门文章

  1. TypeScript 基本类型(一)
  2. iOS-.pch如何使用
  3. iOS-Pods里三方文件导入找不到头文件
  4. BF算法 + KMP算法
  5. nginx默认访问目录时显示403错误
  6. 【BZOJ2962】序列操作 线段树
  7. php 正则表达式一.函数解析
  8. java获取当前路径&amp;读取当前目录下文件
  9. 让Windows Server 2008+IIS 7+ASP.NET支持10万个同时请求
  10. Django框架视图类