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

关于 Java快速查找详细

package V_Recursion;public class C_QuickSort {public static void main(String[] args) {int[] arr = {6, 1, 2, 7, 9, 3, 4, 5, 10, 8};quicSort(arr, 0, arr.length - 1);for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " , ");}}public static void quicSort(int[] arr, int i, int j) {//定义两个变量,记录要查找的范围int start = i;int end = j;//递归的出口if (start>end){return;}//记录基准数int baseNumber = arr[i];//利用循环找到要交换的数字while (start != end) {//利用end,从后往前找,找比基准数小的数字while (true) {//当end和star的指针指向重叠时,或者后指针找到了比基准数小的数时breakif (end <= start || arr[end] < baseNumber) {break;}end--;}//利用start,从前往后找,比基准数大的数字while (true) {//当end和star的指针指向重叠时,或者前指针找到了比基准数大的数时break if (end <= start || arr[start] > baseNumber) {break;}start++;}//把end和start指向的元素交换int temp = arr[start];arr[start] = arr[end];arr[end] = temp;}//当start和end指向同一个元素,那么上面的循环就会结束//表示找到了基准数在数组中因该存在的位置//基准数归位//就是拿着这个范围中的第一个数字跟start交换位置int temp = arr[start];arr[start] = arr[i];arr[i] = temp;//确定6左边的范围重复刚刚所做的事情quicSort(arr,i,start-1);//确定6右边的范围重复刚刚的事情quicSort(arr,start+1,j);}
}

 

http://www.jsqmd.com/news/33483/

相关文章:

  • 什么是Ansible 清单 - 详解
  • 完整教程:如何用开源软件
  • 第一次团队项目作业
  • 隨機變量本質之最終闡述
  • 足式机器人适应多地形的方案
  • 使用vLLM实测3090和4090的大模型推理性能
  • CF1700F Puzzle
  • Redis高可用与高并发探险之旅:从单机到集群的完美进化【第三部分】
  • UE:论运行时动画录制的关键-正确获取骨骼数据与保存
  • 线性基相关
  • 关于fcitx5预览窗口部分emoji乱码问题
  • a-menu 当设置折叠状态如何穿透悬浮菜单样式
  • attention论文及Transformer工作原理概述
  • kamailio+rtpengine对sdp的处理
  • 软工团队项目第一次作业
  • 低代码权限管理安全合规指南:守住数据安全的 “最后一道防线”
  • 2025-11-06
  • 低代码权限管理常见场景解决方案:精准适配不同业务需求
  • 不适用模型的简易ai交互页面
  • 关于waybar状态栏颜文字乱码问题
  • 自己的火印
  • P10277 [USACO24OPEN] Bessies Interview S 题解
  • 基于AIGC的图表狐深度评测:自然语言生成专业级统计图表的高效的技术实现
  • AI 时代的数据库进化论 —— 从向量到混合检索
  • 深入解析:操作系统基础:了解进程、线程、协程,理解I/O模型(阻塞/非阻塞,同步/异步)。
  • vue 3.x 前端导出功能
  • 最高法-合同目的的认定
  • 2025年恒温恒湿机标杆厂家最新推荐:中焓环境,档案室恒湿机/精密恒温恒湿机/吊顶恒温恒湿机/档案室恒温恒湿机,定义环境控制精准新标准
  • 2025年恒温恒湿厂家及恒湿设备标杆之选:中焓环境,适配机房/档案室/展柜等场景
  • 酸角糕行业发展趋势解析:2025年十大品牌综合测评与选择指南