package com.lamp.sort;
public class SelectSort {
public static void main(String[] args) {
int[] data = {3,1,10,2,8,4};
sortArray(data);
for (int i = 0; i < data.length; i++) {
System.out.println(data[i]);
}
}
/**
* 选择排序的原理其实很简单,就拿数组3,1,10,2,8,4来说,第一次for循环将最小的数放在第一位,第一次排序
* 后的数组为1,3,10,2,8,4,接着对剩下的数3,10,2,8,4用相同方法进行排序,依次类推,直到将所有的数字
* 排好顺序
*/
public static void sortArray(int[] data) {
for (int i = 0; i < data.length-1; i++) {
for (int j = i+1; j < data.length; j++) {
if(data[i] > data[j]){
swap(data, i, j);
}
}
}
}
private static void swap(int[] data, int i, int j) {
int temp = data[i];
data[i] = data[j];
data[j] = temp;
}
}
相关推荐
RAID 0/1/5/10 性能实测:4块 SATA SSD 组阵列,顺序读写速度对比
本文通过实测对比了RAID 0/1/5/10在4块SATA SSD上的顺序读写性能,详细展示了不同RAID级别的配置方法、理论性能与实际测试数据。测试结果显示,RAID 0在顺序读写速度上表现最佳,而RAID 10则在性能与数据安全之间取得了平衡,适合数据库服务器等关键应用场景。
JDK8 LAMP表达式常用
List转为Map写法 List list01 = new ArrayList()<>; Map<Long, User>list01.stream().collect(Collectors.toMap(User::getId, Function.identity(), (key1, key2) -> key2)); List根据条件过滤筛选 List userList...
从零搭建AGV避障系统:我用激光雷达+树莓派视觉模块踩过的那些坑
本文分享了基于树莓派与国产激光雷达从零搭建低成本AGV避障系统的实战经验。针对复杂仓库环境,详细剖析了激光雷达数据噪声、视觉模块算力瓶颈、IMU漂移等核心挑战,并提供了多传感器融合、软件架构设计与避障决策的具体解决方案,为中小型自动化改造项目提供了宝贵参考。
Java选择排序
1. 选择排序 选择排序是一种简单直观的排序算法,其基本原理是每一次从待排序的数组里找到最小值(最大值)的下标,然后将最小值(最大值)跟待排序数组的第一个进行交换,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。反复的进行这样的过程直到待排序的数组全部有序。 2.选择排序的动图 相信通过这个动图,您已经明白,选择排序是怎样的原理吧!接下来用Java来实现选择排序。 代码如下: public class selectSort { public static void ma
STM32结合FFT与窗函数优化,实现高精度正弦信号提取
本文详细介绍了如何在STM32嵌入式平台上结合FFT算法与窗函数优化技术,实现高精度正弦信号提取。通过分析频谱泄漏原理,对比汉宁窗、汉明窗等窗函数特性,并提供实际代码示例和幅值补偿方法,有效解决了工业检测中信号精度不足的问题。
基于Simulink和Control System Toolbox的线控转向(Steer-by-Wire)系统设计
通过上述步骤,我们成功设计并实现了基于 Simulink 和 Control System Toolbox 的线控转向(Steer-by-Wire)系统。该系统能够接收来自方向盘的角度指令,经过控制器处理后,驱动转向执行器(如电动机),实现对车辆前轮转向角度的精确控制。通过虚拟场景仿真、硬件在环测试和实车测试,验证了系统的响应速度、控制精度、车辆稳定性和实时性能,并通过参数优化进一步提升了系统的性能。
java实现选择排序
java实现选择排序
群辉NAS映射为本地盘符
鼠标右击网络→映射网络驱动器→以上适合通过局域网操作,采用ZeroTier组网后,也可以按照以上步骤实现,这时使用 “虚拟局域网”的IP地址。
java 选择排序
java选择排序 一、基本思想 选择排序(select sorting)也是一种简单的排序方法。它的基本思想是:第一次从arr[0]~arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]~arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2]~arr[n-1]中选取最小值,与arr[2]交换,…,第i次从arr[i-1]~arr[n-1]中选取最小值,与arr[i-1]交换,…, 第n-1次从arr[n-2]~arr[n-1]中选取最小值,与arr[n-2]交换,总共通
基于Simulink的光伏+储能家庭能源管理系统仿真
本文通过Simulink建模,分析了家庭光伏+储能系统的优化调度问题。针对光伏发电与用电高峰不匹配导致电费节省有限的问题,构建了包含5kW光伏、10kWh电池和6kW负荷的完整模型,设计了无控、规则控制和24小时经济优化三种策略。仿真结果显示,经济优化策略可使日电费降低32%,光伏自用率从45%提升至89%,尤其在晚高峰时段能显著减少高价购电。文章详细介绍了物理层建模、分时电价实现和控制策略设计方法,并探讨了天气预测、V2H等高级扩展功能,为家庭能源智能管理提供了实用解决方案。
优快云独家首发!万字长文,YOLOv5/v7/v8算法模型yaml文件史上最详细解析与教程!小白也能看懂!掌握了这个就掌握了魔改YOLO的核心!
🍀🍀🍀YOLOv5/v7/v8算法模型yaml文件史上最详细解析与教程,全网最强,学不会算我输!!!
Java 选择排序法
原理简介 选择排序原理即是,遍历元素找到一个最小(或最大)的元素,把它放在第一个位置,然后再在剩余元素中找到最小(或最大)的元素,把它放在第二个位置,依次下去,完成排序。 时间复杂度 选择排序的时间复杂度为 O(n^2)。 第一次需要检查n个元素,但随后检查的元素数依次为n - 1, n – 2, …, 2和1。平均每次检查的元素数为1/2 ...
【YOLO26实战全攻略】09——YOLO26多目标跟踪实战宝典:从原理到智慧园区人流统计全流程
多目标跟踪(MOT)是视频分析的核心技术,解决了单帧检测无法关联目标身份的痛点。本文基于YOLO26轻量化检测模型与ByteTrack跟踪算法,从新手视角出发,系统讲解多目标跟踪的核心原理、环境搭建、实操步骤与工程落地。内容涵盖ByteTrack分层关联策略解析、YOLO26集成跟踪的一行代码实现、配置参数调优、区域计数、轨迹数据提取与热力图可视化,最终通过智慧园区人车流量统计虚拟案例,完整呈现从技术原理到实际应用的全流程。本文注重实用价值,所有代码可直接复现,参数配置附带场景化建议,帮助新手快速上手。
java排序之选择排序
选择排序改进了冒泡排序,所改进的是排序时交换的次数,并没有改进比较的次数。在大批量数据排序的时候,选择排序中对于交换数据的时间和比较的时间来说,很显然,数据交换和移动的时间更为重要(一般来说,Java中不是这种情况,Java中只是改变了引用的位置,而实际对象的位置并未发生改变) 用选择排序对篮球队员进行排序: 进行选择排序就是把所有的队员扫描一遍,找到其中最低的队员,让他与...
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版
Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。
java选择排序_java 选择排序
## 选择排序 要按升序排列一个数组,选择排序法先找到数列中的最小数,然后将它放在数列的最前面。接下来在剩下的数中找到最小的数放在第一个数的后面,以此类推,直到数列中只剩下最后一个数,如图显示如何对数列{2,9,5,4,8,1,6}使用选择排序法进行排序。 使用Java实现:public static void main(String[] args) { int [] arr...
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
java 树形选择排序_选择排序、树形排序、堆排序的java代码实现
/*** 选择排序:* 简单选择排序,树形选择排序与堆排序**/public classSelecSortDemo {/*** --------------------------------------------* 简单选择排序* 原理:假设列表中有n个元素,从第一个元素开始,在第一个元素* 与最后一个元素之间选择一个最小的元素与第一个元素交换,* 然后从第二个元素开始,在第二个元素与最后一个...
Probability and Statistics - 4th edition
Probability and Statistics - 4th edition
Java实现选择排序
Java实现选择排序 选择排序原理为:随机确定一个标志位(一般为第一个数字)作为最小数,然后向后遍历,找到比标志位更小的数便与标志位互换位置并更新最小数,实现步骤为: 将数组的第一个数字设置为标志位最小数并记录最小数下标。 向后遍历,发现更小数后将该数与标志位互换位置并更新最小数与最小数下标。 循环完成排序 实现代码如下(不会写的话使用copilot生成后读代码学习): public static void main(String[] args){ int int[] arr = new in
Java排序算法之<选择排序>
选择排序是一种通过每次从未排序部分选出最小元素放到已排序序列末尾的排序算法。它不稳定,可能在排序过程中改变相同元素的原始顺序(如5A和5B的相对位置)。算法执行流程是逐轮确定元素位置,Java实现通过双重循环完成。相比冒泡排序,选择排序交换次数更少(最多n-1次),适合写操作代价高的场景,但时间复杂度仍为O(n²)。文中提供了完整的Java代码示例展示其实现过程。
Java数组选择排序法
开发工具与关键技术: MyEclipse Java 撰写时间:2020、12、4 排序,顾名思义就是根据自己的需求按照从大到小或从小到大等方式进行排序,排序因需求不同而排序的方式也千变万化,所以排序的方法也有很多种,比如上次说过的冒泡排序,还有这里说的选择排序,以及其他的排序方法等。 选择排序是算法排序中比较常见的一种数组排序方法,上次说过的冒泡排序,冒泡排序的方式是通过定位交换从大到小进行逐个依次交换来排序,他跟选择排序法是有一定的区别的。 首先我说一下选择排序的原理大概是:通过遍历数组中的元素,从中
简单选择排序_选择排序之简单选择排序(Java)
选择排序之简单选择排序(Java) 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 选择排序(select sorting)也是一种简单的排序方法。它的基本思想是:第一次从arr[0]arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[...
选择排序之直接选择排序Java实现
选择排序之直接选择排序Java实现
选择排序之java实现
选择排序也是比较简单的一种排序方法,原理也比较容易理解,它与冒泡排序的比较次数相同,但选择排序的交换次数少于冒泡排序。冒泡排序是在每次比较之后,若比较的两个元素顺序与待排序顺序相反,则要进行交换,而选择排序在每次遍历过程中只记录下来最小的一个元素的下标,待全部比较结束之后,将最小的元素与未排序的那部分序列的最前面一个元素交换,这样就降低了交换的次数,提高了排序效率。 java实现的代码如
JAVA 选择排序
Java 数组元素进行选择排序 选择排序原理:从0索引处开始,依次和后面的元素进行比较,小的元素往前放,经过一轮比较厚,最小的元素出现在最小的索引处 思路: 如图,第一轮从0索引开始,依次向后进行比较 第二轮从索引1开始 总结规律:数组中有8个元素,经过七轮比较 第一轮比较了七次;第二轮比较了六次;第三轮比较了五次;第四轮比较了四次;第五轮比较了三次;第六轮比较了两次;第七轮比较了一次 依次分析每轮比较 第一次比较 int index = 0; for (int i = 1; i < a
Java排序算法——选择排序
Java排序算法——选择排序(Selection sort) 传送门 冒泡排序 插入排序 简述 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 算法描述(设有n个元素) 从第一个元素开始,比较所有未排序的元素,并标记最小(大)元素,将最小(大)元素与未排序的第一个元素进行交换。 第一轮排序时
java用a选择排序,选择排序之Java实现
选择排序之Java实现一、方法一package cn.com.zfc.lesson21.sort;/**** @title SelectSort* @describe 选择排序* @author 张富昌* @date 2016年10月1日下午4:13:50*/public class SelectSort_1 {// 简单选择排序的第 i 趟是从(elem[i],elem[i+1],...,ele...
424



被折叠的 条评论
为什么被折叠?



