排序算法Java实现——选择排序(直接选择排序)

FOC-滑膜控制器SMC/滑膜观测器SMO 三相PMSM是一个非线性、强耦合的多变量控制系统,对于外界的扰动或者电机自身的参数发生变化时,传统的PI控制并不能满足实际的要求。因此可以引入滑模控制SMC,它对扰动和参数不敏感,响应速度也够快。简单来说就是,滑膜观测器就是通过采样与坐标变换得到的Ualpha,Ubeta,Ialpha,Ibeta四个参数值,获取。SMO叫滑膜观测器(Sliding Mode Observer),用于获取转子位置信息与转速信息。2、作为滑膜观测器SMO,获取电机角度与转速信息。之间的误差来设计滑膜观测器,并通过该误差。 阅读详情

比较排序代码:


/*@(#)chooseSort.java   2017-4-22 
 * Copy Right 2017 Bank of Communications Co.Ltd.
 * All Copyright Reserved
 */

package com.sort.cn;

/**
 * TODO Document chooseSort
 * <p>
 * @version 1.0.0,2017-4-22
 * @author Singit
 * @since 1.0.0
 */
public class chooseSort {
	//选择排序
	    public static void main(String[] args) {
	        int[] arr={1,3,2,45,65,33,12};
	        System.out.println("交换之前:");
	        for(int num:arr){
	            System.out.print(num+" ");
	        }        
	        //选择排序的优化
	        for(int i = 0; i < arr.length - 1; i++) {// 做第i趟排序
	            int k = i;
	            for(int j = k + 1; j < arr.length; j++){// 选最小的记录
	                if(arr[j] < arr[k]){ 
	                    k = j; //记下目前找到的最小值所在的位置
	                }
	            }
	            //在内层循环结束,也就是找到本轮循环的最小的数以后,再进行交换
	            if(i != k){  //交换a[i]和a[k]
	                int temp = arr[i];
	                arr[i] = arr[k];
	                arr[k] = temp;
	            }    
	        }
	        System.out.println();
	        System.out.println("交换后:");
	        for(int num:arr){
	            System.out.print(num+" ");
	        }
	    }

	}

输出结果:

交换之前:
1 3 2 45 65 33 12 
交换后:
1 2 3 12 33 45 65 


直接选择排序代码:

public static void main(String[] args) {
        int[] a = { 2, 5, 5, 3, 9, 6, 1, 4, 8, 7 };
        select_sort(a);
        print_array(a);

}

    public static void select_sort(int[] a) {

        for (int i = 0; i < a.length; i++) {
            for (int j = i + 1; j < a.length; j++) {
                if (a[i] > a[j]) {
                    swap(a, i, j);
                }
            }
        }
}

    public static void swap(int[] a, int b, int c) {
        if (b == c)
            return;
        a[b] = a[b] ^ a[c];
        a[c] = a[b] ^ a[c];
        a[b] = a[b] ^ a[c];
    }

    public static void print_array(int[] a) {
        if (a.length == 0)
            return;

        for (int i : a) {
            System.out.print(i + " ");
        }
}


输出结果:

1 2 3 4 5 5 6 7 8 9 


Phantom Omni的力与力矩操作 *本说明为对Phantom Omni的力与力矩操作 ****************虚拟夹具的力读取与控制************************ 1、首先力的读取要声明【全局变量】 hduVector3Dd F;//三维矢量力(x,y,z三个方向的力) 2、对力的控制可以采用配置函数Set()与Get()函数; 3、对力觉的控制或读取操作需要放到【回调帧】开始与结束之间,如例子 阅读详情

相关推荐

手机Camera硬件电路设计:从电源管理到信号完整性的实战解析

本文深入解析了手机Camera硬件电路设计的核心挑战与实战经验,重点聚焦于电源管理与信号完整性两大基石。文章详细阐述了AVDD、DVDD、IOVDD和AFVDD四路电源的差异化设计要点与噪声控制策略,并剖析了MIPI等高速信号通道的完整性设计原则,为硬件工程师提供了从理论到PCB布局布线的完整实战指南。

weixin_28308325的博客 250

Java常用实现八种排序算法与代码实现

一、交换排序 所谓交换,就是序列中任意两个元素进行比较,根据比较结果来交换各自在序列中的位置,以此达到排序的目的。 1. 冒泡排序 冒泡排序是一种简单的交换排序算法,以升序排序为例,其核心思想是: 从第一个元素开始,比较相邻的两个元素。如果第一个比第二个大,则进行交换。 轮到下一组相邻元素,执行同样的比较操作,再找下一组,直到没有相邻元素可比较为止,此时最后的元素应是最大的数。 除了每次排序得到的最后一个元素,对剩余元素重复以上步骤,直到没有任何一对元素需要比较为止。

java_atguigu的博客 2万+

调用D3D11硬解码和渲染VideoProcessor版本

在https://blog.youkuaiyun.com/robothn/article/details/78781321一文中使用shader来显示FFMPEG硬解码后的YUV420P,本文调用D3D11的videoprocessor来进行图像空间变换和尺寸变换,取得了较好的效果。 1.初始化D3D11设备、videodevice等数据结构 FFMPEG调用D3D11硬解码,获取其对应的device,videodevice。。。 FFMPEG使用av_hwdevice_find_type_by_name调用D3d11

zlyadvocate的博客 9285

Java排序算法代码集(7个)

0.注 以下代码是以前参考视频课程或者其他人的博客写的,现在是复习+做个备份在优快云上,大部分都忘了为何这样写了,希望各位如果拿某部分代码跑出了问题,可以把用例留个言让我检查反思一下,感激不尽~ 1.冒泡排序 public static void bubbleSort(int[] arr){ for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr.length - i - 1; j++) {

Lawrence 4107

目标检测数据集 第059期-基于yolo标注格式的水果李子检测数据集(含免费分享)

李子作为中国三大水果之一,种植历史超 3000 年,在市场中占据重要地位。传统李子种植、施肥、采摘依赖大量人力,存在资源浪费、产量估算不准、采摘时机难把控等问题。此前,农业领域缺乏针对 “未成熟李子” 的专用数据集,现有水果检测数据集多聚焦于成熟果实(如苹果、柑橘),且未覆盖李子种植的复杂自然场景。在使用该数据集进行学术研究时,应遵守相关的学术规范,引用该数据集的来源,尊重数据集创作者的劳动成果。,用于训练改进型模型,解决李子精准检测的核心痛点。

深度学习算法工程师,专注于前沿算法研究与实战应用。在这里,我将分享深度学习领域的实战经验、优质数据集资源以及最新论文解读与精度分析,旨在与广大技术爱好者共同探索人工智能的奥秘,助力技术成长与创新。 772

ESP32 WIFI 智能巡线小车设计与实现(四足 / 四轮通用)

本文设计的 ESP32 WIFI 智能巡线小车,硬件模块化、软件轻量化,兼容四足与四轮两种结构,实现了自动巡线与 WIFI 远程控制双功能。系统成本低、易上手,适合嵌入式初学者学习 WIFI 通信、传感器应用、运动控制等核心知识点,也可在此基础上扩展蓝牙控制、避障、视觉识别等功能。

weixin_42300449的博客 152

【排序算法】选择排序(C语言)

选择排序是最简单的算法之一,这里使用C语言实现了选择排序,并且完成了选择排序的优化实现,欢迎大家参考

weixin_52811588的博客 9万+

基于单片机的按键加1数码管显示(仿真+程序)5046

1、51+Proteus8.10;2、学习计数统计、数码管显示驱动;

理论结合实践,开启你的电子学习新方案! 1325

“深入理解”—选择排序算法

选择排序算法有两种:直接选择排序和堆排序

冷血之心的博客 2万+

[QMT和ptrade量化交易小白入门]-112、小市值热点概念交易策略,回测5年20倍

本专栏主要是介绍QMT和ptrade的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写200篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 1080

CryoEM - 冷冻电镜 基于深度学习的 从头重构(Ab-initio Reconstruction) 开源项目 教程

冷冻电镜(CryoEM) 是一种成像方式,为蛋白质和其他生命基本组成部分的动态,提供独特的观察方式。从数百万噪声和随机取向的二维投影中,以计算效率高的方式,联合估计生物大分子的姿态、三维结构和构象异质性。

AGI 1557

选择排序法——超详细的总结

之前在我的博文中详细介绍了冒泡排序,它的基本思想是:每次比较相邻两个数的大小,只要逆序(和题意要求的顺序相反),就交换两个数;这样交换的次数繁多!而选择排序法就避免了这个问题。 选择排序的基本思想: 找到当前数字序列中最大(最小)的数,记录其所在位置,将其和最前面(最后面)的数进行交换,使最小(最大)的元素上浮(下沉)到本次排序的最前面(最后面),从而完成一趟(pass)排序。下一趟排序时,已经有...

袁君元的博客 2万+

Panda3d 场景管理

许多简单的 3D 引擎维护一个 3D 模型列表,然后在每一帧对这些模型进行渲染。在这些简单的引擎中,必须分配一个3D模型(或从磁盘加载它),然后将其插入到要渲染的模型列表中。模型在插入到列表中之前对渲染器不“可见”。 Panda3D稍微复杂一些。它不是维护要呈现的对象列表,而是维护要呈现的对象树。对象在插入树之前对渲染器不可见。

u014077947的博客 1383

用JAVA实现排序算法之三:直接选择排序

    本篇文章介绍直接选择排序算法的JAVA实现。     直接选择排序算法的基本思想是:n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:         ①初始状态:无序区为R[1..n],有序区为空。         ②第1趟排序         在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录R[1]交换,使R[1..1]和R[2....

追求卓越 4101

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

java直接选择排序_基于Java语言实现的直接选择排序算法

2011 年10 月 内 蒙 古 科 技 与 经 济 O ctober 2011  第19 期 总第245 期 InnerM ongolia Science Technology & Economy No. 19 TotalNo. 245 基于Java 语言实现的直接选择排序算法Ξ王素苹 (内蒙古财经学院职业学院 计算机系, 内蒙古 呼和浩特 010000)   摘 要: 介绍了常用的排序...

weixin_29957761的博客 196

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

java 选择排序_一种用Java实现的直接选择排序算法

评论#re: 一种用Java实现的直接选择排序算法2007-04-18 08:42开源英汉机器翻译开源英汉机器翻译C#.NET项目 www.liebiao.net我们邀请你 技术交流回复更多评论#re: 一种用Java实现的直接选择排序算法2007-11-14 20:42陈力#re: 一种用Java实现的直接选择排序算法2007-11-14 20:56qq564878494你做法...

weixin_39637233的博客 159

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【排序算法】直接选择排序算法 Java实现

基本思想 直接选择排序是从无序区选一个最小的元素直接放到有序区的最后。 初始状态:无序区为a[1...n],有序区为空。 第一次排序:在无序区a[1...n]中选出最小的记录a[k],将它与有序区的第一个元素交换,使a[1...1]和a[2...n]分别变为 记录个数增加1个的新有序区和记录个数减少1个的新无序区。 ... 经过n-1次排序结束。 算法实现 public ...

andyjiang0310的博客 166

排序算法之冒泡排序、选择排序、直接插入排序(java实现)

今天用java实现三个简单的排序算法:冒泡排序、选择排序、直接插入排序。 1.冒泡排序 冒泡排序过程:从前完后依次比较,将最大的数放到最后,重新开始前面的过程,将第二大的数放到倒数第二的位置,直到数组有序。 java实现的代码过程如下: 冒泡排序的算法: public class BubbleSort { public static void main(String[] ar

CatterMCG 719

排序算法-直接选择(Java实现)

&nbsp;&nbsp;&nbsp;&nbsp;直接选择是简单排序,算法思想是从第一个数字开始,与后面的每个数字进行比较,如果该数字小了,那么就把两数进行交换,这样一轮下来第一个数字肯定是最小的数字,然后第二个数字开始与后面的数字进行比较,思想是一样的,这样的话,第二小的数字就到了第二个位置,这样依次类推,排序就完成了。 来举一组例子: 这样一组数字进行选择排序 先拿到第一个数字5,然后与4进...

博客 520

排序算法-选择排序算法之直接选择排序的图解、实现(java)

排序算法-选择排序算法之直接选择排序的图解、实现(java)基本思想:以升序排序来说,每一趟从待排序序列中选取一个最小的元素。假设有n个元素,第一趟从n个元素中选取元素最小的记录,第二趟从剩下的n-1个元素中选取最小的元素,直至整个序列中的记录都选完位置。就可以得到有序的序列。

没有简介就是简介 481

java选择排序算法的2个实现(直接选择排序、堆排序)

选择排序稳定性:不稳定 选择排序是给每个位置选择当前元素最小的,比如给第一个位置选择最小的,在剩余元素里面给第二个元素选择第二小的,依次类推,直到第n - 1个元素,第n个元素不用选择了,因为只剩下它一个最大的元素了。那么,在一趟选择,如果当前元素比一个元素小,而该小的元素又出现在一个和当前元素相等的元素后面,那么交换后稳定性就被破坏了。比较拗口,举个例子,序列5 8 5 2 9,我们知道第一遍...

爱的叹息的专栏 630

直接选择排序算法设计与java实现

1.直接排序算法设计的思路  n个数据,需要经过n-1趟比较过程; 第一趟比较:拿第一个数据从第二数据开始依次跟后面数据比较,如果每次比较过程中,后面数据比第一个数据小,就与第一个数据交换,依此类推。经过第一趟比较,最小值就在被排在第一位; 第二趟比较:拿第二个数据从第三个数据开始依次跟后面数据比较,如果每次比较过程中,后面数据比第二个数据小,就与第二个数据交换,依此类推。经过第二趟比较

wyj1986的专栏 833

java实现排序算法之选择排序(直接选择排序、堆排序)

常用的选择排序算法有两种:直接选择排序和堆排序。 [color=red][b]一、直接选择排序(Straight Select Sorting)[/b][/color] 也是一种简单的排序方法,它的基本思想是:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R{1}~R[n-1]中选取最小值,与R[1]交换,....,   第i次从R[i-1]~R[n-1]中选取最小值,与...

Cliff-来至大山里的娃 195

三种初级排序算法(冒泡、选择、直接插入)java实现及其性能比较

排序就是将一组对象按照某种逻辑顺序重新排列的过程。排序在很多地方可以用到,比如在淘宝购物时,完全可以根据自己的需要对搜索到的商品进行排序。在计算时代早期,大家普遍认为30%的计算周期都用在了排序上,但今天这个比例降低了,原因之一就是如今的排序算法更加高效,而并非排序的重要性降低了,因此熟悉一些排序算法是很重要的。最近几天我开始学习排序算法,并用java语言实现了一遍,并且比较了冒泡、选择、直接插入

njr465167967的博客 617

java 排序算法实现 其三:直接选择排序

直接选择排序的java实现

Maxwell_7 463

冒泡、快速、直接插入、选择排序算法(Java语言实现)

一、冒泡排序 /**  * win8.1 32位操作系统  * @author Che‑cars  * 2015年7月30日 下午8:35:09  */ public class BubbleSort {  public static void main(String[] args){   int a[] = {45,56,4,12,86,75,46};   for (int i

Che_Cars的博客 672
上一篇: 排序算法Java——交换排序(之快速排序)
下一篇: 排序算法Java实现——选择排序(堆排序)
白衣染霜陈
博客等级 码龄22年 682粉丝 338原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值