快速排序+思路分析

图解

在这里插入图片描述

代码实现

package com.atguigu.sort;import com.sun.org.apache.xpath.internal.WhitespaceStrippingElementMatcher;import java.util.Arrays;/*** @创建人 wdl* @创建时间 2021/3/22* @描述*/
public class QuickSort {public static void main(String[] args) {//[-9,78,0,23,-567,70]int[] arr = {-9, 78, 0, 23, -567, 70};quickSort(arr,0,arr.length-1);System.out.println("arr="+ Arrays.toString(arr));}public static void quickSort(int[] arr, int left, int right) {int l = left;//左下标int r = right;//右下标//pivot中轴int pivot = arr[(left + right) / 2];int temp=0;//临时变量,作为交换时使用//while循环的目的是让比pivot值小的放到左边//比pivot值大放到右边while (l < r) {//在pivot的左边一直找,找到一个大于等于pivot的值,才退出while (arr[l] < pivot) {l++;}//在pivot的右边一直找,找到一个小于等于pivot的值,才退出while (arr[r] > pivot) {r--;}//如果l>=r成立说明pivot的左右两的值,已经按照左边全部是小于等于pivot的值,// 右边全部都是大于等于pivot的值if(l>=r){break;}//交换temp=arr[l];arr[l]=arr[r];arr[r]=temp;//如果交换完后,发现这个arr[l]==pivot值相等--,前移if(arr[l]==pivot){r--;}//如果交换完后,发现这个arr[l]==pivot值相等++,前移if(arr[r]==pivot){l++;}}//如果l==r,必须l++,r--,否则会出现栈溢出if(l==r){l++;r--;}//向左递归if(left<r){quickSort(arr,left,r);}//向右递归if(right>l){quickSort(arr,l,right);}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/326871.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jquery sleep函数

function sleep(n) { //n表示的毫秒数 var start new Date().getTime(); while (true) if (new Date().getTime() - start > n) break; } console.log(new Date()); this.sleep(3000); console.log(new Date());

2017 年编程语言排行榜:Python 排第一

站长之家(ChinaZ.com) 7 月 24 日消息&#xff0c;近日根据 IEEE Spectrum 发布的研究报告显示&#xff0c;在 2016 年排名第三的 Python 在今年已经成为世界上最受欢迎的语言&#xff0c;C 和 Java 分别位居第二和第三位。IEEE Spectrum 的排行依据数据记者 Nick Diakopoulos …

Spring 获取 request 的几种方法及其线程安全性分析

转载自 Spring 获取 request 的几种方法及其线程安全性分析 本文将介绍在Spring MVC开发的Web系统中&#xff0c;获取request对象的几种方法&#xff0c;并讨论其线程安全性。 一、概述 在使用Spring MVC开发Web系统时&#xff0c;经常需要在处理请求时使用request对象&…

2的负x次幂图像_数学| NO.2,3 函数 T15

点击蓝字&#xff0c;关注我们函数题目2020.11.30#2,3函数 T15函数发展&#xff1a;函数就是在某变化过程中有两个变量X和Y&#xff0c;变量Y随着变量X一起变化&#xff0c;而且依赖于X。如果变量X取某个特定的值&#xff0c;Y依确定的关系取相应的值&#xff0c;那么称Y是X的函…

AspNet Identity 和 Owin 谁是谁

英文原文:http://tech.trailmax.info/2014/08/aspnet-identity-and-owin-who-is-who/ 最近我发现Stackoverflow上有一个非常好的问题.提问者问:为什么在调用AuthenticationManager.SignIn后,claim仍然可以被添加到Identity并持久化到cookie里. 示例代码如下所示: ClaimsIdenti…

快速排序+时间测试(yyds)

package com.atguigu.sort;import com.sun.org.apache.xpath.internal.WhitespaceStrippingElementMatcher;import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date;/*** 创建人 wdl* 创建时间 2021/3/22* 描述*/ public class QuickSort {public…

bs架构 erp 进销存_从应用架构看生鲜电商信息化建设

编辑导读&#xff1a;对于生鲜电商来说&#xff0c;信息化建设是很重要的一环&#xff0c;所有的业务开展都离不开信息化的支持。本文作者讲从应用架构角度出发&#xff0c;对生鲜电商信息化建设展开分析&#xff0c;希望对你有帮助。一、背景语言共识之前介绍了从业务架构看生…

分布式 | Dubbo 架构设计详解

转载自 分布式 | Dubbo 架构设计详解 Dubbo是Alibaba开源的分布式服务框架&#xff0c;它最大的特点是按照分层的方式来架构&#xff0c;使用这种方式可以使各个层之间解耦合&#xff08;或者最大限度地松耦合&#xff09;。从服务模型的角度来看&#xff0c;Dubbo采用的是一…

完成OSS.Http底层HttpClient重构封装 支持标准库

OSS.Http项目对于.Net Standard标准库的支持已经迁移完毕&#xff0c;OSS开源系列两个最底层的类库已经具备跨运行时支持的能力。由于OSS.Http类库是几年前我参照RestSharp的思路&#xff0c;完成的一个轻量型Http请求框架。由于时间较久底层使用的还是HttpWebRequest&#xff…

归并排序+思路分析

思路分析 代码实现 package com.atguigu.sort;import java.util.Arrays;/*** 创建人 wdl* 创建时间 2021/3/22* 描述*/ public class MergeSort {public static void main(String[] args) {int arr[]{8,4,5,7,1,3,6,2};int temp[]new int[arr.length];mergeSort(arr,0,arr.len…

常数除以0的极限是什么_【极限】第四节 极限运算法则

定理 例题 极限运算法则就像加减乘除四则运算一样&#xff0c;是一种计算规则&#xff0c;那么极限也有属于它自己的一套计算规则。 极限运算法则的常用定理 定理1 两个无穷小的和是无穷小 有限个无穷小之和也是无穷小 定理2 有界函数与无穷小的乘积是无穷小 常数与无穷小的乘积…

Visual Studio 2017将于3月7日发布

继最近一连串候选发布版本之后&#xff0c;微软已经开始针对正式发布Visual Studio 2017做最后准备工作。微软已经宣布2017年3月7日会是VS2017官方发布时间。第一款VS软件问世于1997年&#xff0c;本次发布标志着产品20周年&#xff0c;这些年里包括了Visual J、Visual FoxPro、…

SQL Server 急救包(First Responder Kit)入门教程

如果你的SQL Server数据库运行起来十分缓慢甚至逐渐停止了&#xff0c;恰巧又赶上了你的数据库管理员在休假&#xff0c;你又不知道该如何是好&#xff0c;那么这篇文章会帮助你从学习使用SQL Server急救包&#xff08;SQL Server First Responder Kit&#xff09;开始解决问题…

IE8浏览器缓存问题导致Ajax的GET请求只能执行一次的解决办法

转载自 IE8浏览器缓存问题导致Ajax的GET请求只能执行一次的解决办法 最近在测试兼容性问题的时候发现&#xff0c;使用Ajax的GET请求向后台获取响应结果时&#xff0c;如果是IE8浏览器&#xff0c;第一次发送请求时会得到正常的返回结果&#xff0c;然后当再去发送相同请求访…

基数排序+推导过程

图解 代码实现 package com.atguigu.sort;import java.util.Arrays;/*** 创建人 wdl* 创建时间 2021/3/22* 描述*/ public class RadixSort {public static void main(String[] args) {//53, 3, 542, 748, 14, 214int arr[] {53, 3, 542, 748, 14, 214};radixSort(arr);}//基…

Xamarin的坑 - 绑定(一) - 拿微信iOS SDK 简单说起

编者语&#xff1a;Xamarin 并入微软快一年了&#xff0c;在国内推广还是慢&#xff0c;主要有两个方面&#xff0c;Xamarin在国内的本地化不足真正在国内的解决方案基本上没有&#xff0c;第二就是和本土的一些主要SDK接入案例基本上也没有。上述原因令不少企业放弃使用这个很…

二分查找+思路分析

思路分析 代码实现 package com.atguigu.search;/*** 创建人 wdl* 创建时间 2021/3/23* 描述*/ //注意&#xff1a;使用二分查找的前提是&#xff0c;该数组是有序的 public class BinarySearch {public static void main(String[] args) {int arr[]{1,8,10,89,1000,1234};int…

SQLServer On Linux Package List on CentOS

问题引出 “鸟儿啊&#xff0c;到底SQLServer on Linux肚里装了多少东西&#xff0c;在我们的CentOS系统安装了哪些物理文件呢&#xff1f;”&#xff0c;老鸟这天火急火燎的问道。“这个啊&#xff1f;让本鸟帮你一探究竟。”&#xff0c;菜鸟耐心回答道。 问题分析 菜鸟一边想…

开发环境 Minio 添加桶的操作流程-页面操作

命令操作 d开发环境 Minio 添加桶的操作流程_摇曳的精灵的博客-CSDN博客_minio创建桶 页面操作