当前位置: 首页 > article >正文

【排序算法】选择排序

在无序数据中找到最小(最大)元素,放置到无序数组的起始位置

从剩余未排序的元素中寻找最小(最大)元素,放到无序数组的起始位置。

重复上述过程,直到所有元素有序。

一般默认待排序数组第一个为最小值,找待排序数组当中真正的最小值,找到真正的最小值和待排序数组的一个值进行交换,交换完成之后,真正的最小值到达正确位置。

时间复杂度:O(n^2)

import java.util.Arrays;

public class SelectSort {
	public static void main(String[] args) {
		int[] arr = {5,7,4,2,0,3,1,6};
		sort(arr);
		System.out.println(Arrays.toString(arr));
	}
	
	public static void sort(int[] arr) {
		for(int i = 0;i<arr.length;i++) {
			// 定义变量存储最小值
			int min = arr[i];
			// 定义变量存储最小值的下标
			int pos = i;
			for(int j = i ;j<arr.length;j++) {
				if(arr[j]<min) {
					min = arr[j];
					pos = j;
				}
			}
//			真正的最小值和默认的最小值交换
			arr[pos] = arr[i];
			arr[i] = min;
		}
	}
	
}


http://www.kler.cn/a/537263.html

相关文章:

  • DeepSeek与人工智能的结合:探索搜索技术的未来
  • 中国城商行信贷业务数仓建设白皮书(第五期:智能决策体系构建)
  • 【慕伏白教程】Zerotier 连接与简单配置
  • 【Spring Boot】 SpringBoot自动装配-Condition
  • javaEE-6.网络原理-http
  • 华为支付-免密支付接入免密代扣说明
  • 【python】简单的flask做页面。一组字母组成的所有单词。这里的输入是一组字母,而输出是所有可能得字母组成的单词列表
  • RNN、LSTM和ELMo
  • C语言:将四个八位无符号数据拼接成32位的float数据
  • 深度计算学习:理论框架与算法革命的交汇
  • AI学习专题(一)LLM技术路线
  • Docker 构建镜像并搭建私人镜像仓库教程
  • 【专题】2024-2025人工智能代理深度剖析:GenAI 前沿、LangChain 现状及演进影响与发展趋势报告汇总PDF洞察(附原数据表)
  • 云上考场微信小程序的设计与实现(LW+源码+讲解)
  • 如何使用 Python 高效操作 Word 文档:python-docx 和 comtypes 介绍与实践
  • 开源模型应用落地-CodeQwen模型小试-SQL专家测试(二)
  • vue3-自动收集依赖 watchEffect
  • 基于HarmonyOS 3.0的智能理财APP开发方案
  • Docker在安装时遇到的问题(第一部分)
  • 基于 C# 开源的Netnr.Login组件库,maui开发实现 QQ、微信等多种主流第三方平台的登录授权
  • 防火墙、堡垒机和NAT
  • R语言 文本分析 天龙八部
  • 用 Python 给 Excel 表格截图(20250207)
  • 嵌入式工程师面试经验分享与案例解析
  • css实现长尾箭头(夹角小于45度的)
  • 拥抱开源,助力创新:IBM永久免费云服务器助力开源项目腾飞