【排序】快速排序(前后指针法)—— 考的最少的一种算法
以从小到大的顺序进行说明。
前后指针法
是指对于一个数组,定义前后各一个指针(prev 和 cur)
- prev用于卡一个比基准值大的值进行交换
- cur用于向前遍历出比基准值小的,和prev进行交换
图解
- 初始化
- 选出
基准值4
- 如果cur 所在的值比基准值小,那就++prev,看prev是否与 cur 在同一个位置(是一个位置那就还不到交换的时候,说明刚到这个比基准值大的区间,要开始让cur往后走,确定这个大区间有多长了)
- 如果 cur 的值要比4大,需要扩大大区间的范围,但是不++prev,prev就是大区间的起始位置。
再次进行交换
此后都是比基准值大的,只需让cur++>
交换prev 和基准位置(left)的值,完成一次调整
代码
private int partationRearPrev(int[] array, int left, int right) {int key = array[left];int prev = left;int cur = prev + 1;// 取到等号才能遍历完while (cur <= right) {// 先让prev 向前走,但是和cur 没有位置上的距离,那就不换// 和基准值进行比较if (array[cur] < array[left]) {swap(array, cur, prev);}cur++;}// 将分界线置于中间swap(array, left, prev);// prev就是分界线return prev;}
相关文章:
![](https://img-blog.csdnimg.cn/dcd34d545316416f84dc18fe865a0645.png)
【排序】快速排序(前后指针法)—— 考的最少的一种算法
以从小到大的顺序进行说明。 前后指针法 是指对于一个数组,定义前后各一个指针(prev 和 cur) prev用于卡一个比基准值大的值进行交换cur用于向前遍历出比基准值小的,和prev进行交换 图解 初始化 选出基准值4 如果cur 所在的值…...
![](https://img-blog.csdnimg.cn/15c178641ab748ceb5775def1719d15b.png)
软考:中级软件设计师:关系代数:中级软件设计师:关系代数,规范化理论函数依赖,它的价值和用途,键,范式,模式分解
软考:中级软件设计师:关系代数 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 &…...
![](https://img-blog.csdnimg.cn/9d848149c9e148d38c80d8b0a0508b1b.png)
openCV实战-系列教程2:阈值与平滑处理(图像阈值/图像平滑处理/高斯/中值滤波)、源码解读
1、图像阈值 t图像阈值函数,就是需要判断一下像素值大于一个数应该怎么处理,小于一个数应该怎么处理 ret, dst cv2.threshold(src, thresh, maxval, type) 参数解析: src: 原始输入图,只能输入单通道图像&#…...
![](https://www.ngui.cc/images/no-images.jpg)
C语言第五章-循环结构练习
1、设计一个小型模拟彩票中奖机,已知彩票中奖号码是一个固定的3位数(原始号码)。对任意一个3位数,取出它的每位数字和原始号码的每位数字比较,有1位数相同中三等奖,有2位数相同中二等奖,有3位数…...
![](https://img-blog.csdnimg.cn/b946a26cf95a4c44b7aadc52a4226e1b.png)
Echarts面积图2.0(范围绘制)
代码: // 以下代码可以直接粘贴在echarts官网的示例上 // 范围值 let normalValue {type: 内部绘制,minValue: 200,maxValue: 750 } // 原本的绘图数据 let seriesData [820, 932, 901, 934, 1290, 1330, 1320] let minData Array.from({length: seriesData.len…...
![](https://img-blog.csdnimg.cn/cd55af23b1ee4adb981baabed62fdcd5.png#pic_center)
flink checkpoint时exact-one模式和atleastone模式的区别
背景: flink在开启checkpoint的时候有两种模式可以选择,exact-one和atleastone模式,那么这两种模式有什么区别呢? exact-one和atleastone模式的区别 先说结论:exact-one可以完全做到状态的一致性,而atle…...
![](https://csdnimg.cn/release/blog_editor_html/release2.3.5/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=N6B9)
QEMU 仿真RISC-V freeRTOS 程序
1. 安裝RISC-V 仿真環境 --QEMU 安裝包下載地址: https://www.qemu.org/ 安裝命令及安裝成功效果如下所示, target-list 設定爲riscv32-softmmu, $ cat ~/project/qemu-8.0.4/install.sh sudo apt-get install libglib2.0-dev sudo apt-get install libpixman-1-dev ./co…...
![](https://img-blog.csdnimg.cn/3a3fab0901cb4fac9b061f2df7f5ba86.png#pic_center)
用大白话来讲讲多线程的知识架构
感觉多线程的知识又多又杂,自从接触java,就在一遍一遍捋脉络和深入学习。现在将这次的学习成果展示如下。 什么是多线程? 操作系统运行一个程序,就是一个线程。同时运行多个程序,就是多线程。即在同一时间࿰…...
![](https://img-blog.csdnimg.cn/0121ee1f66fc487a8c8158995cc96943.png)
【uniapp】微信小程序 , 海报轮播图弹窗,点击海报保存到本地,长按海报图片分享,收藏或保存
uivew 2.0 uniapp 海报画板 DCloud 插件市场 第一步,下载插件并导入HbuilderX 第二步,文件内 引入 海报组件 <template><painter ref"haibaorefs"></painter> <template> <script>import painter from /comp…...
![](https://img-blog.csdnimg.cn/3dce8b4b23ed4c6ea6ddab82225d84f2.png)
SpringBoot与前端交互遇到的一些问题
一、XXX.jar中没有主清单属性 场景: SpringBoot打的jar包在Linux运行报错 解决方案: 百度找了很多都是一样的答案,但是解决不了我的问题,于是我新建了一个springboot项目发现打的jar包可以在Linux上运行。检查了下只要把下面这2个…...
![](https://img-blog.csdnimg.cn/e4c5dbbdfbd04a1eaeb9e47976c2121f.png)
Maven介绍与配置+IDEA集成Maven+使用Maven命令
目录 一、Maven简介 二、配置环境变量 三、IDEA集成Maven 1.配置本地仓库地址 2.集成Maven 3. pom.xml文件介绍 四、Maven命令 jar包太多、jar包相互依赖、不方便管理、项目编译还需要jar包,Maven工具来帮你! 一、Maven简介 Maven 是 Apache 软…...
![](https://www.ngui.cc/images/no-images.jpg)
毕业设计题目源码-毕业论文参考
目录 java语言ssm框架springboot框架微信小程序jspservletmysqljspservletsqlserverssh框架springmvc框架oracle无数据库 C#/asp/net语言B/S结构 浏览器模式C/S结构 窗体模式 安卓/androidapp 客户端appweb 客户端服务端 php语言php java语言 ssm框架 题目ssm828基于java的珠…...
![](https://img-blog.csdnimg.cn/588dcb8ae5504cb98f6a3cd371a93478.png)
SSH报错-Terminal shell path: C:\WINDOWS\System32\cmd.exe 此时不应有
最近接盘了实验室的工作,需要重新配置连接自己的VScode的SSH远程连接服务器,结果配置了一个下午都没搞好,决定记录一下,希望大家避免踩坑。在vscode上遇到的是这个报错: 错误日志 [11:40:12.097] Checking ssh with …...
![](https://img-blog.csdnimg.cn/b01a4528f8b24a87a725506cc9d84b9e.png)
Docker 轻量级可视化工具Portainer
1. 是什么 Portainer 是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境。 2. 安装 2.1 官网 https://www.protainer.io/ https://docs.portainer.io/ce-2.9/start/install/server/docker/linux 2.2 …...
![](https://img-blog.csdnimg.cn/0efb4e158edd495fba3deaec5b1d7bfd.png)
站点平台技术架构
系统架构部署思维导图 平台模块分配: 1.账号模块 2.权限模块 3.站点模块 4.配置模块 5.系统升级 6.日志模块 一、前期工作 1.系统保持一致性方案: GIT版本控制:通过总控端向租户端发送一个更新同步请求,租户端收到请求后执行GI…...
![](https://www.ngui.cc/images/no-images.jpg)
一个以太坊合约的漏洞分析-重入攻击
请找出下列合约漏洞,并说明如何盗取ContractB 中的数字资产,并修复合约。中说明:ContractB 的contract_a接口为ContractA 地址 pragma solidity ^0.8.21; interface ContractA {function get_price() external view returns (uint256); }int…...
![](https://img-blog.csdnimg.cn/3ef362e7eeb548b28b095aad5fc605b1.png#pic_center)
测试先行:探索测试驱动开发的深层价值
引言 在软件开发的世界中,如何确保代码的质量和可维护性始终是一个核心议题。测试驱动开发(TDD)为此提供了一个答案。与传统的开发方法相比,TDD鼓励开发者从用户的角度出发,先定义期望的结果,再进行实际的开发。这种方法不仅可以确保代码满足预期的需求,还可以在整个开…...
![](https://img-blog.csdnimg.cn/6216dbe8c2e546d8920a9056aea74b72.png)
如何用Dockerfile部署LAMP架构
目录 构建LAMP镜像(Dockerfile) 第一步 创建工作目录 第二步 编写dockerfile文件 Dockerfile文件配置内容 第三步 编写网页执行文件 第四步 编写启动脚本 第五步 赋权并且构建镜像 第六步 检查镜像 第七步 创建容器 第八步 浏览器测试 构建LA…...
![](https://img-blog.csdnimg.cn/img_convert/8a05294d4f9c2df21962ad0801d5b77d.png)
基于量子粒子群算法(QPSO)优化LSTM的风电、负荷等时间序列预测算法(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
![](https://img-blog.csdnimg.cn/img_convert/a7f36c30afbe31d76ab53e1a03f1e66a.jpeg)
SQL Server软件安装包分享(附安装教程)
目录 一、软件简介 二、软件下载 一、软件简介 SQL Server是一种关系型数据库管理系统,由美国微软公司开发。它被设计用于存储、管理和查询数据,被广泛应用于企业级应用、数据仓库和电子商务等场景。 以下是SQL Server软件的主要特点和功能࿱…...
![](https://img-blog.csdnimg.cn/4d39480d603d425585cdabfdf0a02995.png)
基于Django的博客管理系统
1、克隆仓库https://gitee.com/lylinux/DjangoBlog.git 若失效:https://gitee.com/usutdzxy/DjangoBlog.git 2、环境安装 pip install -Ur requirements.txt3、修改djangoblog/setting.py 修改数据库配置,其他的步骤就按照官方文档。 DATABASES {def…...
![](https://img-blog.csdnimg.cn/f443be02668f4e01b6fc3e1a364ee664.png)
windows系统依赖环境一键安装
window系统程序依赖库,可以联系我获取15958139685 脚本代码如下,写到1. bat文件中,双击直接运行,等待安装完成即可 Scku.exe -AVC.exe /SILENT /COMPONENTS"icons,ext\reg\shellhere,assoc,assoc_sh" /dir%1\VC...
![](https://www.ngui.cc/images/no-images.jpg)
centos7安装nacos
解决 Nacos 国内下载速度缓慢的问题 方案 1. 选择相应的版本源码下载 1.1 依次点击 1、2、3 选中我们的最新稳定版本 1.4.0 1.2 点击下载 ZIP、或者 clone 也行,这里都可以 2. 本地编译 2.1 预备环境准备 2.2 解压编译 3. 启动验证 3.1 解压 3.2 启动服务器 3…...
![](https://img-blog.csdnimg.cn/f76a26371c0440e9906578cf6186d6d2.png)
【python】python智能停车场数据分析(代码+数据集)【独一无二】
👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…...
![](https://www.ngui.cc/images/no-images.jpg)
如何使用Redis来防止穿透、击穿和雪崩问题
推荐阅读 AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮AI想象空间 资源分享 史上最全文档AI绘画stablediffusion资料分享 AI绘画关于SD,MJ,GPT,SDXL百科全书 「java、python面试题」…...
![](https://img-blog.csdnimg.cn/dd39ff0126e84bd9ac1d3180c542cf2c.png)
以getPositionList为例,查找接口函数定义及接口数据格式定义
job-app-master/pages/index/index.vue中299行 async getPositionList(type refresh, pulldown false) {this.status 请求中;if (type refresh) {this.query.page 1;} else {this.query.page;}let res await this.$apis.getPositionList(this.query);if (res) {if (type …...
![](https://img-blog.csdnimg.cn/bd2d7051bec94e86a453fa5a780d310a.png)
一生一芯8——在github上添加ssh key
为在github上下载代码框架,这里在github上使用ssh key进行远程连接,方便代码拉取 参照博客https://blog.csdn.net/losthief/article/details/131502734 本机 系统ubuntu22.04 git 版本2.34.1 本人是第一次配置,没有遇到奇奇怪怪的错误&…...
![](https://www.ngui.cc/images/no-images.jpg)
2023年6月电子学会Python等级考试试卷(一级)答案解析
青少年软件编程(Python)等级考试试卷(一级) 一、单选题(共25题,共50分) 1. 可以对Python代码进行多行注释的是?( ) A. #...
![](https://img-blog.csdnimg.cn/d0130e3f83094af893909c41046ea90a.png)
ppt如何转pdf文档?用这个方法可将ppt转pdf
在现代社会中,PPT(幻灯片)已成为一种常见的演示工具,被广泛应用于学术、商务、培训等领域。然而,PPT文件的使用和分享存在一些问题,例如文件格式不兼容、内容修改易被篡改等。为了解决这些问题,将PPT转换为PDF格式已成…...
![](https://img-blog.csdnimg.cn/img_convert/31ccd95c2bedd8c38e0473ae05d78455.jpeg)
Hope.money:新兴DeFi项目如何重新定义稳定币生态的未来?
联储加息导致金融市场紧缩,Terra、3AC、FTX等知名中心化机构未能妥善应对而暴雷,并重创了整个加密货币市场,导致参与者损失惨重。这些事件揭示了中心化机构的局限,投资者对其资产掌控权的担忧愈发强烈。 自2018年首个DeFi协议Com…...
![](/images/no-images.jpg)
vultr做网站怎么样/郑州外贸网站推广
这个其实网上很多,一百度一大把,但是网上得都有一个通病导致不成功,我也不知道他们当时是怎们通过的。 前面怎们打开环境变量就不细说了,网上很多。 在添加路径时双击path,j进入编辑页面,然后添加所在python所在的安…...
![](/images/no-images.jpg)
常州设计公司排名/郑州seo学校
<a href"/">首页</a>><a href"{$MOD[linkurl]}">{$MOD[name]}</a> <i>></i> {cat_pos($CAT, <i>></i> )}...
![](/images/no-images.jpg)
网站源码开发/重庆今日头条新闻消息
容易被遗忘的十种健康食物常常有的人会抱怨,可供选择的食物实在太少了,总是吃不到好吃的新奇的东西。但事实是否真的如此呢?我们总是因为自己生活的局限性而去追寻其他不容易得到的美味,而忽略了那些就近在身边的对我们有益的东西…...
![](/images/no-images.jpg)
无锡找做网站公司/竞价推广价格
1.急性心肌梗死有意义的心肌标记物是() A.谷丙转氨酶 B.肌酸激酶 C.淀粉酶 D.转肽酶 E.碱性磷酸酶 2.下列哪项不是右心衰竭的体征() A.肝大 B.胸水 C.腹水 D.颈静脉怒张 E.肝颈静脉回流征阳性 3.右心衰竭可能的症状不包括&…...
prestashop和wordpress/东莞建设企业网站
作为初学者,我看的是原子的视频,用的是stm32f103vet6的板,所以这个问题纠结了好久,终于在今天解决了,虽然只是第一步,但是已经迈出第一步了。在这里分享给有需要的同学们,祝你们好运。 1、FSMC…...
![](https://img-blog.csdnimg.cn/20191115191708888.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNTYwNzIx,size_16,color_FFFFFF,t_70)
一级a做爰片免费网站黄/如何注册一个平台
Beyond Compare 是一个综合的比对工具。 下载链接: 那么如何使用呢?初入职场的小白,在同事推荐下用了这款工具。巨好用。 首先,我们要找到安装包,直接打开,傻瓜式安装。 建议选择language为中文…...