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

dede网站wap/免费sem工具

dede网站wap,免费sem工具,专门做cg视频网站,枣庄网站建设.com文章目录 冒泡排序算法说明代码实现 直接选择排序算法说明代码实现 快速排序算法说明代码实现 本篇主要讲解数组排序相关的三种算法,冒泡排序,直接排序和快速排序。 冒泡排序 算法说明 在数组中依次比较相邻的两个元素,当满足左侧大于右侧时…

文章目录

  • 冒泡排序
    • 算法说明
    • 代码实现
  • 直接选择排序
    • 算法说明
    • 代码实现
  • 快速排序
    • 算法说明
    • 代码实现

本篇主要讲解数组排序相关的三种算法,冒泡排序,直接排序和快速排序。

冒泡排序

算法说明

在数组中依次比较相邻的两个元素,当满足左侧大于右侧时(升序排序),则两个位置的元素互换。如此重复,最终即可完成数组的排序。

代码实现

public static void bubbleSort(int[] array){
// 循环轮数比数组大小小1轮for(int i = 1; i < array.length; i++){// 循环1轮后,最大的元素,已经排到数组后面,不用再参与比较for(int j = 0; j < array.length - i; j++){if(array[j] > array[j+1]){int temp = array[j];array[j] = array[j+1];array[j+1] = temp;}}}
}

直接选择排序

算法说明

依次找出数组中最小值的索引,并和数组左侧的元素进行位置交换。
这样从整体上就是数组的左侧部分是按照由小到大依次排列的有序数组。

代码实现

public static void selectSort(int[] array){for(int i = 0; i < array.length - 1; i++){// 记录比较的元素和索引int min = array[i];int minIndex = i;for(int j = i + 1; j < array.length; j++){if(array[j] < min){// 记录最小值的索引和值minIndex = j;min = array[j];}}// 将最小值与前面的元素交换int temp = array[minIndex];array[minIndex] = array[i];array[i] = temp;}
}

快速排序

算法说明

选择一个基准比较值,然后依据这个基准值,将数组分隔为两个部分,左侧的部分为所有小于基准的值,右侧部分为所有大于基准的值。

代码实现

/*** 快速排序法,排序数组* @author Ethan* @description* @param array*/public static void quickSort(int[] array){subSort(array,0,array.length - 1);}/*** 快速排序法的核心算法* @author Ethan* @description* @param array 被排序的数组* @param start 起始索引* @param end 结束索引*/public static void subSort(int[] array, int start, int end){if(start < end){
//            选取数组最左边的元素作为判断基础int base = array[start];int left = start;int right = end + 1;while(true){
//                从左向右遍历遇到大于基数的索引停止,left指向大于基数的索引while(left < end && array[++left] <= base);
//                从右向左遍历找到小于基数的索引停止,right指向小于基数的索引while(right > start && array[--right] >= base);
//                当大于基数的索引在小于基数的索引前时,进行交换,让小于基数的值都在左边,大于基数的值都在右边if(left < right) {swap(array,left,right);}else{break;}}
//            将基数和小于基数的最右边的元素位置对换swap(array,start,right);
//            递归排序分割后的数组subSort(array,start,right-1);subSort(array,right + 1,end);}}/*** 交换数组中两个索引处的数值* @author Ethan* @description* @param array* @param left* @param right*/public static void swap(int[] array, int left, int right){int temp = array[left];array[left] = array[right];array[right] = temp;}

相关文章:

算法__数组排序_冒泡排序直接选择排序快速排序

文章目录 冒泡排序算法说明代码实现 直接选择排序算法说明代码实现 快速排序算法说明代码实现 本篇主要讲解数组排序相关的三种算法&#xff0c;冒泡排序&#xff0c;直接排序和快速排序。 冒泡排序 算法说明 在数组中依次比较相邻的两个元素&#xff0c;当满足左侧大于右侧时…...

ByteBuffer的原理和使用详解

ByteBuffer是字节缓冲区&#xff0c;主要用户读取和缓存字节数据&#xff0c;多用于网络编程&#xff0c;原生的类&#xff0c;存在不好用&#xff0c;Netty采用自己的ByteBuff&#xff0c;对其进行了改进 1.ByteBuffer的2种创建方式 1.ByteBuffer buf ByteBuffer.allocate(i…...

【MySql】10- 实践篇(八)

文章目录 1. 用动态的观点看加锁1.1 不等号条件里的等值查询1.2 等值查询的过程1.3 怎么看死锁&#xff1f;1.4 怎么看锁等待&#xff1f;1.5 update 的例子 2. 误删数据后怎么办?2.1 删除行2.2 误删库/表2.3 延迟复制备库2.4 预防误删库 / 表的方法2.4.1 账号分离2.4.2 制定操…...

【三方登录-Apple】iOS 苹果授权登录(sign in with Apple)之开发者配置一

记录一下sign in with Apple的开发者配置 前言 关于使用 Apple 登录 使用“通过 Apple 登录”可让用户设置帐户并使用其Apple ID登录您的应用程序和关联网站。首先使用“使用 Apple 登录”功能启用应用程序的App ID 。 如果您是首次启用应用程序 ID 或为新应用程序启用应用程序…...

可视化 | 数据可视化降维算法梳理

文章目录 &#x1f4da;数据描述&#x1f407;iris&#x1f407;MNIST &#x1f4da;PCA&#x1f407;算法流程&#x1f407;图像描述 &#x1f4da;Kernel-PCA&#x1f407;算法流程&#x1f407;图像描述 &#x1f4da;MDS&#x1f407;算法流程&#x1f407;图像描述 &#…...

分布式:一文吃透分布式事务和seata事务

目录 一、事务基础概念二、分布式事务概念什么是分布式事务分布式事务场景CAP定理CAP理论理解CAPCAP的应用 BASE定理强一致性和最终一致性BASE理论 分布式事务分类刚性事务柔性事务 三、分布式事务解决方案方案汇总XA规范方案1&#xff1a;2PC第一阶段&#xff1a;准备阶段第二…...

Java架构师前沿技术

目录 1 导学2 信息物理系统2.1CPS的体系架构2.2 CPS的技术体系3 人工智能4 机器人5 边缘计算6 数字李生体7 云计算7.1 云计算的部署模式8 大数据想学习架构师构建流程请跳转:Java架构师系统架构设计 1 导学 2 信息物理系统 信息物理系统(CPS)是控制系统、嵌入式系统的扩展与…...

OpenCV ycrcb颜色空间

Opencv中有一个Ycrcb的选项&#xff0c;这个选项其实是Yuv444packet. 下面代码从文件中获取到一个yuv444planar的文件&#xff0c;通过手动转换&#xff0c;将其转为YcrCb&#xff0c;然后进行颜色空间csc. 所以可以确定这是一个packet的存储格式 def yuv444p_2_bgr8_opencv(…...

SPSS两独立样本t检验

前言&#xff1a; 本专栏参考教材为《SPSS22.0从入门到精通》&#xff0c;由于软件版本原因&#xff0c;部分内容有所改变&#xff0c;为适应软件版本的变化&#xff0c;特此创作此专栏便于大家学习。本专栏使用软件为&#xff1a;SPSS25.0 本专栏所有的数据文件请点击此链接下…...

视频格式高效转换:MP4视频批量转MKV格式的方法

随着数字媒体技术的不断发展&#xff0c;视频格式转换已经成为了我们日常工作中不可或缺的一部分。不同的视频格式适用于不同的场景和设备&#xff0c;因此将视频从一种格式转换为另一种格式往往是我们必须完成的任务。在本文中&#xff0c;我们将重点介绍如何运用云炫AI智剪高…...

0028Java程序设计-智能农场监控报警系统设计与实现

文章目录 摘要目 录系统设计开发环境 摘要 我国是一个以农业为主的国家&#xff0c;在当今社会信息化迅速发展的背景下&#xff0c;将信息技术与农业相融合是必然的趋势。现代信息技术在农业生产中的运用&#xff0c;主要体现在两个领域&#xff1a;一是传感器技术&#xff1b…...

数据结构和算法——用C语言实现所有图状结构及相关算法

文章目录 前言图的基本概念图的存储方式邻接矩阵邻接表十字链表临界多重表 图的遍历最小生成树普里姆算法&#xff08;Prim&#xff09;克鲁斯卡尔算法&#xff08;Kruskal&#xff09; 最短路径BFS求最短路径迪杰斯特拉算法&#xff08;Dijkstra&#xff09;弗洛伊德算法&…...

JavaScript一些数据类型介绍

JavaScript一些数据类型介绍 1&#xff09;数字类型&#xff08;Number&#xff09;&#xff1a;可以表示整数和浮点数&#xff0c;例如&#xff1a;42、3.14159。 var x 42; // x 的类型是 Number var y 3.14159; // y 的类型是 Number2&#xff09;字符串类型&#xff08…...

正向代理和反向代理与负载均衡

自存用 什么是反向代理&#xff0c;反向代理与正向代理的区别 一文帮你梳理清楚「正向代理和反向代理的区别与联系」 什么是反向代理服务器 正向代理为用户服务&#xff0c;给用户换个ip使其能访问其他网站 反向代理为服务器服务&#xff0c;使用户访问特定网站服务器。反向代…...

制造执行系统(MES)的核心功能是什么?

“一般来讲&#xff0c;制造执行系统&#xff08;MES&#xff09;的功能模块包括过程监控&#xff0c;质量管理&#xff0c;设备监控&#xff0c;计划执行等功能模块。” 为了深入探讨MES的核心功能&#xff0c;本文将从以下3个方面展开说明&#xff1a; 首先&#xff0c;从概…...

uniapp如何使用mumu模拟器

模拟器安装 下载地址&#xff1a;MuMu模拟器 模拟器相关设置 1.在设置-显示中选中手机版&#xff0c;设置手机分辨率 2.设置-关于手机-版本号快速点击&#xff0c;将其设置为开发者模式 3.选择多开器 4.打开hbuilderx&#xff0c;找到adb设置 5.配置adb路径及端口号&#x…...

【MATLAB源码-第64期】matlab基于DWA算法的机器人局部路径规划包含动态障碍物和静态障碍物。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 动态窗口法&#xff08;Dynamic Window Approach&#xff0c;DWA&#xff09;是一种局部路径规划算法&#xff0c;常用于移动机器人的导航和避障。这种方法能够考虑机器人的动态约束&#xff0c;帮助机器人在复杂环境中安全、…...

阿里云国际版和国内版的区别是什么,为什么很多人喜欢选择国际版?

阿里云国际版和国内版区别如下&#xff1a; 谈到区别&#xff0c;我们不妨先来对比下相同点与不同点&#xff0c;才能清晰明确的知道二者区别 下面先介绍不同点&#xff1a; 面向市场更广泛 阿里云国际版主要是面向国际&#xff08;全球&#xff09;客户的&#xff0c;而国内…...

监听redis过期业务处理

配置类&#xff1a; package com.testimport org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CachingConfigurerSupport; import org.springframework.cache.annotation.EnableCaching; import org.springframework.c…...

计算机网络与技术——数据链路层

&#x1f60a;计算机网络与技术——数据链路层 &#x1f680;前言☃️基本概念&#x1f94f;封装成帧&#x1f94f;透明传输&#x1f94f;差错检测 ☃️点对点协议PPP&#x1f94f;PPP协议的特点&#x1f94f;PPP协议的帧格式&#x1f50d;PPP异步传输时透明传输&#xff08;字…...

UE5 Android下载zip文件并解压缩到指定位置

一、下载是使用市场的免费插件 二、解压缩是使用市场的免费插件 三、Android路径问题 windows平台下使用该插件没有问题&#xff0c;只是在Android平台下&#xff0c;只有使用绝对路径才能进行解压缩&#xff0c;所以如何获得Android下的绝对路径&#xff1f;增加C文件获得And…...

CSS3盒模型

CSS3盒模型规定了网页元素的显示方式&#xff0c;包括大小、边框、边界和补白等概念。2015年4月&#xff0c;W3C的CSS工作组发布了CSS3基本用户接口模块&#xff0c;该模块负责控制与用户接口界面相关效果的呈现方式。 1、盒模型基础 在网页设计中&#xff0c;经常会听到内容…...

VINS-Mono-VIO初始化 (五:视觉惯性对齐求解)

整体思想就是根据预积分的公式&#xff0c;把已知量和未知量各放到一边&#xff0c;因为前面的数据都是变换到 c 0 c_{0} c0​下的&#xff0c;不是真正意义上和重力对齐的世界坐标&#xff0c;然后位移和速度的预积分中会用到加速度计获取的重力加速度g&#xff0c;但是这个重…...

详解Vue——的双向数据绑定是如何实现的?

引言 在现代的Web开发中&#xff0c;数据绑定是一个非常重要的概念。Vue.js是一种流行的JavaScript框架&#xff0c;它提供了一种简单而强大的方式来实现双向数据绑定。本文将介绍Vue的双向数据绑定原理&#xff0c;并提供相关代码示例。 什么是双向数据绑定&#xff1f; 双向…...

正则表达式引擎比较(翻译自:A comparison of regex engines)

原文&#xff1a; A comparison of regex engines – Rust Leipzig 引言 正则表达式&#xff08;或简称regex&#xff09;通常用于模式搜索算法。 有许多不同的正则表达式引擎提供不同的表达式支持、性能约束和语言绑定。 基于 John Maddock 之前的工作 (regex comparison)和…...

后端Linux软件安装大全[JDK、Tomcat、MySQL、Irzsz、Git、Maven、Redis、Nginx...持续更新中]

文章目录 前言1.软件安装方式2.安装jdk3.安装Tomcat4.安装MySQL5.安装lrzsz6. 安装Git7. 安装Maven8. 安装Redis9. 安装Nginx 总结 前言 为了巩固所学的知识&#xff0c;作者尝试着开始发布一些学习笔记类的博客&#xff0c;方便日后回顾。当然&#xff0c;如果能帮到一些萌新…...

C++ Dijkstra 最短路径求解算法的两种实现方案

迪杰斯特拉算法(Diikstra) 是由荷兰计算机科学家狄克斯特拉于1959 年提出的&#xff0c;因此又叫狄克斯特拉算法。 核心思想&#xff0c;搜索到某一个顶点后&#xff0c;更新与其相邻顶点的权重。顶点权重的数据含义表示从起始点到此点的最短路径长度&#xff08;也就是经过的…...

因存在色情内容,夸克被罚50万元

媒体经济的繁荣、自媒体、直播等各种形式的信息传播疯狂发展&#xff0c;但是各种形式的信息资源大规模生产时&#xff0c;“色情”&#xff0c;“暴力”的图像和视频不可控的滋生&#xff0c;特别是某些 APP 或浏览器。一旦打开&#xff0c;满屏都是“哥哥&#xff0c;快来啊”…...

汽车EDI:福特Ford EDI项目案例

项目背景 福特&#xff08;Ford&#xff09;是世界著名的汽车品牌&#xff0c;为美国福特汽车公司&#xff08;Ford Motor Company&#xff09;旗下的众多品牌之一。此前的文章福特FORD EDI需求分析中&#xff0c;我们已经了解了福特Ford EDI 的大致需求&#xff0c;本文将会介…...

正则表达式的使用实例

正则表达式的使用实例 1- 表示2- 实例 1- 表示 1, [:digit:] 表示0-9全部十个数字 //等价于 0123456789&#xff0c; 而不等价于[0123456789] 2, [[:digit:]] 表示任意一个数字 \{m,n\} 表示其前面的字符出现最少m次&#xff0c;最多n次的情况 \{3,\} 其前面的字符出…...