package com.rao.linkList;

import java.util.Arrays;

/**
* @author Srao
* @className SelectSort
* @date 2019/12/4 11:27
* @package com.rao.linkList
* @Description 选择排序
*/
public class SelectSort {
/**
* 选择排序
* @param arr
*/
public static void selectSort(int[] arr){
for (int i = 0; i < arr.length-1; i++){
int min = i;
for (int j = i; j <= arr.length-1; j++){
if (arr[j] < arr[min]){
min = j;
}
}
int temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
} public static void main(String[] args) {
int[] arr = new int[]{3,6,2,5,9,1,0,8};
System.out.println(Arrays.toString(arr));
selectSort(arr);
System.out.println(Arrays.toString(arr)); }
}

首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。

其次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。

以此类推。

最新文章

  1. java.lang.Comparable&lt;T&gt; 接口
  2. 40多个纯CSS绘制的图形
  3. 使用python检测一个设备是否ping的通
  4. Ajax学习笔记(一)
  5. haslayout引起的IE6 :hover失效
  6. OpenStack high-level Functionsenabled
  7. 最短路Dijkstra和Flyod
  8. freemarker 遍历 hashmap 到select option
  9. Mac/Windows开发跨平台.NET Core 控制台程序
  10. mysql进阶(十)不靠谱的FLOAT数据类型
  11. iOS.mach_msg_trap()
  12. Confluence 6 Home 和其他重要的目录
  13. 考前停课集训 Day3 匪
  14. 【转载】JVM系列三:JVM参数设置、分析
  15. [转]JVM参数设置、分析
  16. address sizes : 46 bits physical, 48 bits virtual
  17. python redis启用线程池管理
  18. 用Redis实现分布式锁 与 实现任务队列【转载】
  19. C#程序集系列04,在程序集包含多个module的场景下理解关键字internal
  20. jenkins修改时区

热门文章

  1. dp + 预处理前缀和 - HNU 13248 Equator
  2. Effective.Java第45-55条(规范相关)
  3. idea(2018.3.5)破解
  4. 搭建zipkin并以mysql的方式存储数据
  5. 关于redis key命名规范的设计
  6. Elastic Stack 7.5.0白金版永不过期
  7. 在配置和销售凭证 GET_CONFIG_MODE 间通信时内部出错
  8. Ubuntu系统下搭建docke
  9. Managing C++ Objects: 管理C++对象 —— 一些建议准则
  10. Docker中上传镜像到docker hub中