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

java实现选择排序

算法步骤

  • 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
  • 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
  • 重复第二步,直到所有元素均排序完毕。

动图演示:

动图

以下是Java实现选择排序的代码:

public class SelectionSort {public static void selectionSort(int[] arr) {int n = arr.length;// 遍历未排序部分的元素for (int i = 0; i < n - 1; i++) {// 假设未排序部分的第一个元素是最小值int minIndex = i;// 在未排序部分寻找最小值for (int j = i + 1; j < n; j++) {if (arr[j] < arr[minIndex]) {minIndex = j;}}// 如果未排序部分的第一个元素不是最小值,交换它们if (minIndex != i) {int temp = arr[i];arr[i] = arr[minIndex];arr[minIndex] = temp;}}}public static void main(String[] args) {int[] arr = {5, 2, 8, 1, 9, 4, 6, 3, 7};selectionSort(arr);for (int i : arr) {System.out.print(i + " ");}}
}

输出:

1 2 3 4 5 6 7 8 9

相关文章:

java实现选择排序

算法步骤 首先在未排序序列中找到最小&#xff08;大&#xff09;元素&#xff0c;存放到排序序列的起始位置再从剩余未排序元素中继续寻找最小&#xff08;大&#xff09;元素&#xff0c;然后放到已排序序列的末尾。重复第二步&#xff0c;直到所有元素均排序完毕。 动图演…...

蓝桥杯 大小写转换

islower/isupper函数 islower和issupper是C标准库中的字符分类函数&#xff0c;用于检查一个字符是否为小写字母或大写字母 需要头文件< cctype>,也可用万能头包含 函数的返回值为bool类型 char ch1A; char ch2b; //使用islower函数判断字符是否为小写字母 if(islower(…...

在誉天学习华为认证,有真机吗

通过培训机构学习华为认证&#xff0c;特别是在HCIE的课程学习中&#xff0c;很多人关心的就是培训机构是否有真机能够进行华为认证的相关实验&#xff0c;今天我们一起来看看&#xff0c;在誉天学习华为认证&#xff0c;有真机吗&#xff1f; 誉天总部数据中心机房和誉天总部一…...

SpringBoot-配置文件properties/yml分析+tomcat最大连接数及最大并发数

SpringBoot配置文件 yaml 中的数据是有序的&#xff0c;properties 中的数据是无序的&#xff0c;在一些需要路径匹配的配置中&#xff0c;顺序就显得尤为重要&#xff08;例如在 Spring Cloud Zuul 中的配置&#xff09;&#xff0c;此时一般采用 yaml。 Properties ①、位…...

07.智慧商城——商品详情页、加入购物车、拦截器封装token

01. 商品详情 - 静态布局 静态结构 和 样式 <template><div class"prodetail"><van-nav-bar fixed title"商品详情页" left-arrow click-left"$router.go(-1)" /><van-swipe :autoplay"3000" change"onCha…...

查看libc版本

查看libc库版本 查看系统libc版本 $ ldd --version ldd (Ubuntu GLIBC 2.27-3ubuntu1.2) 2.27 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or …...

【电路笔记】-快速了解无源器件

快速了解无源器件 文章目录 快速了解无源器件1、概述2、电阻器作为无源器件3、电感器作为无源器件4、电容器作为无源器件5、总结 无源器件是电子电路的主要构建模块&#xff0c;没有它们&#xff0c;这些电路要么根本无法工作&#xff0c;要么变得不稳定。 1、概述 那么什么是…...

拼多多商家私信群发脚本,按键精灵版工具,源码分享

也是用按键精灵写的&#xff0c;实现的功能就是通过图色识别拼多多商品列表然后逐个对商家客服进行私信&#xff0c;私信内容可以在脚本里面提前配置好&#xff0c;代码怎么部署&#xff1f;回答&#xff1a;粘贴到你的按键精灵就行了&#xff0c;因为代码完全开源。 UI界面&a…...

在原生HTML页面发起axios请求

在原生html页面发起axios请求&#xff0c;首先需要先引入axios文件包&#xff0c;然后按照axios的请求方式发起请求即可&#xff0c;但如果页面在本地&#xff0c;那么请求一般会报错跨域问题&#xff0c;需要部署一下才能正确请求数据&#xff1b; 例子 <!DOCTYPE html&g…...

重看工厂模式

重看工厂模式 之前整个设计模式的专栏是看了李建忠老师的视频&#xff0c;并没有太多的自己的总结&#xff0c;今天来回看一下设计模式&#xff0c;重温设计模式的魅力 工厂模式我们介绍三个&#xff1a; 简单工厂 工厂方法 抽象工厂 简单工厂 我们举个例子&#xff0c;…...

基于SpringBoot的SSMP整合案例(业务层基础开发与快速开发)

业务层基础开发 接口类public interface BookService {boolean save(Book book);boolean update(Book book);boolean delete(Integer id);Book getById(Integer id);List<Book> getAll();IPage<Book> getByPage(int currentPage,int pageSize);IPage<Book> …...

[Android]创建TabBar

创建一个包含“首页”、“分类”和“我的”选项卡的TabBar并实现切换功能&#xff0c;通常可以通过使用TabLayout结合ViewPager或ViewPager2来完成。以下是一个基本的示例&#xff0c;展示了如何使用Kotlin和XML来实现这个功能。 1.添加依赖项到build.gradle dependencies {/…...

UE5 UMG InvalidationBox和RetainerBox

作用&#xff1a;提高UMG运行效率 RetainerBox:需要手动刷新UMG渲染&#xff0c;节点RequestRender渲染 InvalidationBox:每间隔多帧渲染一次UMG...

HT16C23字段式驱动显示芯片替代PC16C23

1、概述 PC16C23是一款标准I2C接口通讯LCD控制/驱动芯片。该芯片提供1/4占空比和1/8占空比两种显示模式。1/4占空比模式最多驱动224点&#xff08;56x4)&#xff0c;1/8占空比模式最多驱动416&#xff08;52x8)。 PC16C23内置时钟发生器、LCD偏置电压产生模块和LCD驱动电压跟…...

电力感知边缘计算网关产品设计方案-设计背景和设计思路

1.方案背景 未来新型电力系统将以新能源为发电主体,系统不确定性显著增强系统峰谷差逐年拉大,系统调峰、调频、稳定运行及安全控制等均面临前所未有的挑战,系统灵活性需求显著提升。而随着社会经济的发展,电动汽车充换电站、分布式储能、建筑、冰蓄冷空调等灵活资源正处在…...

Python武器库开发-flask篇之模板渲染(二十四)

flask篇之模板渲染(二十四) Flask 中的模板是一种将数据和 HTML 代码组合在一起的方式&#xff0c;使得我们可以生成动态的 HTML 页面。使用模板可以使我们的代码更加简洁、易于维护和复用。在真实的环境中&#xff0c;我们往往接触到的是由 html、CSS和JavaScript所做的网页&…...

pdb restore in ADG database

Effect of PITR on Dataguard Environment (Standby MRP Crashed with ORA-39873) (Doc ID 1591492.1)​编辑To Bottom In this Document Symptoms Cause Solution APPLIES TO: Oracle Database Cloud Exadata Service - Version N/A and later Oracle Database Cloud Servic…...

科创人·蓝凌董事长杨健伟:夯实“四梁八柱”,让数字化“城中村上建高楼”

杨健伟 蓝凌软件董事长 长江商学院EMBA、数字化转型专家、深圳市企业联合会副会长、清华英赛克管理学博士。 “越来越多的企业家在谈数字化转型&#xff0c;软件行业需要思考CIO如何跟CEO对话&#xff0c;这是很大的挑战”&#xff0c;杨健伟在数智2023蓝凌用户大会上的这番话&…...

Flink SQL --Flink 整合 hive

1、整合 # 1、将依赖包上传到flink的lib目录下 flink-sql-connector-hive-3.1.2_2.12-1.15.2.jar# 2、重启flink集群 yarn application -list yarn application -kill application_1699579932721_0003 yarn-session.sh -d# 3、重新进入sql命令行 sql-client.sh 2、Hive cata…...

demo(一)eureka----服务注册与提供

下面写一个简单的demo验证下eureka&#xff0c;实现服务注册、服务发现。 一、单节点&#xff1a; 1、api&#xff1a; 封装其他组件需要共用的dto 2、eureka-service服务注册中心&#xff1a; &#xff08;1&#xff09;pom: <?xml version"1.0" encoding&q…...

LCC-LCC无线充电恒流/恒压闭环移相控制仿真 Simulink仿真模型,LCC-LCC谐振...

LCC-LCC无线充电恒流/恒压闭环移相控制仿真 Simulink仿真模型&#xff0c;LCC-LCC谐振补偿拓扑&#xff0c;闭环移相控制 1. 输入直流电压350V&#xff0c;负载为切换电阻&#xff0c;分别为50-60-70Ω&#xff0c;最大功率3.4kW&#xff0c;最大效率为93.6% 2. 闭环PI控制&…...

3步搞定黑苹果配置:OpCore-Simplify自动化工具如何解决90%的安装难题

3步搞定黑苹果配置&#xff1a;OpCore-Simplify自动化工具如何解决90%的安装难题 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 开篇&#xff1a;黑苹…...

dig (Domain Information Groper):从命令行到自动化运维的DNS探秘

1. 从命令行工具到运维利器的dig进化史 第一次接触dig命令时&#xff0c;我正被一个诡异的域名解析问题困扰。当时作为新手运维&#xff0c;只会用ping和nslookup反复测试&#xff0c;直到同事甩给我一行dig trace example.com——瞬间看到了完整的DNS解析链条&#xff0c;那种…...

避开这些坑!FFmpeg.wasm在Vue项目中的完整避坑指南(含SharedArrayBuffer报错解决方案)

FFmpeg.wasm在Vue项目中的深度实践与疑难解析 当现代Web应用需要处理音视频编辑、转码或流媒体时&#xff0c;FFmpeg.wasm正成为前端开发者的利器。本文将深入探讨如何在高安全要求的Vue项目中稳定集成这一技术方案&#xff0c;特别针对生产环境中可能遇到的SharedArrayBuffer限…...

汽车电子选型:RF430F5144CIRKVRQ1为什么适合发动机舱附近的应用

RF430F5144CIRKVRQ1&#xff1a;这颗77mm的QFN芯片&#xff0c;如何把13.56MHz NFC和MSP430 MCU塞进一颗汽车级SoCRF430F5144CIRKVRQ1来自德州仪器&#xff0c;是一颗高度集成的NFC传感器收发器SoC。它的核心价值很直接&#xff1a;把13.56MHz HF射频前端、16位MSP430超低功耗M…...

cool-admin(midway版)数据库事务超时:超时设置与回滚机制终极指南

cool-admin(midway版)数据库事务超时&#xff1a;超时设置与回滚机制终极指南 【免费下载链接】cool-admin-midway &#x1f525; cool-admin(midway版)一个很酷的后台权限管理框架&#xff0c;模块化、插件化、CRUD极速开发&#xff0c;永久开源免费&#xff0c;基于midway.js…...

理解usearch的动态内存调整:实现高效向量搜索的终极指南

理解usearch的动态内存调整&#xff1a;实现高效向量搜索的终极指南 【免费下载链接】usearch Fast Open-Source Search & Clustering engine for Vectors & Arbitrary Objects in C, C, Python, JavaScript, Rust, Java, Objective-C, Swift, C#, GoLang, and Wolfr…...

迪文串口屏通信协议详解:从5AA5帧头到变量地址,一篇看懂HEX指令怎么发

迪文串口屏通信协议逆向解析&#xff1a;从帧头到数据域的HEX指令全解构 第一次拿到迪文串口屏的HEX指令时&#xff0c;那一串5A A5 11 82 0001 BFAA C6F4...让我完全摸不着头脑。为什么有的指令长度固定&#xff0c;有的却变化多端&#xff1f;地址字段和数据字段究竟如何划分…...

【C++:哈希表】从哈希冲突到负载因子:深入探索开放定址与链地址法的核心机密

&#x1f525;小叶-duck&#xff1a;个人主页 ❄️个人专栏&#xff1a;《Data-Structure-Learning》《C入门到进阶&自我学习过程记录》 《算法题讲解指南》--优选算法 《算法题讲解指南》--递归、搜索与回溯算法 《算法题讲解指南》--动态规划算法 ✨未择之路&#xff0…...

MAVLink垂直扩展:Emaxx导航板专用协议库设计与实践

1. 项目概述 mavlink_emaxx 是一个面向 Emaxx 导航板&#xff08;Emaxx Nav Board&#xff09;定制的 MAVLink 协议消息扩展库。该库并非独立协议栈&#xff0c;而是基于标准 MAVLink v2 协议规范构建的一组专用消息定义&#xff08;message definitions&#xff09;与配套 C…...