排序算法-选择排序(Java)
2024-09-06 13:04:04
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)); }
}
首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。
其次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。
以此类推。
最新文章
- java.lang.Comparable<;T>; 接口
- 40多个纯CSS绘制的图形
- 使用python检测一个设备是否ping的通
- Ajax学习笔记(一)
- haslayout引起的IE6 :hover失效
- OpenStack high-level Functionsenabled
- 最短路Dijkstra和Flyod
- freemarker 遍历 hashmap 到select option
- Mac/Windows开发跨平台.NET Core 控制台程序
- mysql进阶(十)不靠谱的FLOAT数据类型
- iOS.mach_msg_trap()
- Confluence 6 Home 和其他重要的目录
- 考前停课集训 Day3 匪
- 【转载】JVM系列三:JVM参数设置、分析
- [转]JVM参数设置、分析
- address sizes : 46 bits physical, 48 bits virtual
- python redis启用线程池管理
- 用Redis实现分布式锁 与 实现任务队列【转载】
- C#程序集系列04,在程序集包含多个module的场景下理解关键字internal
- jenkins修改时区
热门文章
- dp + 预处理前缀和 - HNU 13248 Equator
- Effective.Java第45-55条(规范相关)
- idea(2018.3.5)破解
- 搭建zipkin并以mysql的方式存储数据
- 关于redis key命名规范的设计
- Elastic Stack 7.5.0白金版永不过期
- 在配置和销售凭证 GET_CONFIG_MODE 间通信时内部出错
- Ubuntu系统下搭建docke
- Managing C++ Objects: 管理C++对象 —— 一些建议准则
- Docker中上传镜像到docker hub中