递归Java

if (low >= high) return; // 递归边界:子序列长度为1或0时直接返回

int i = low, j = high;

L.r[0] = L.r[low]; // 用子序列的第一个元素作为枢轴(哨兵)

KeyType pivot = L.r[low].key; // 保存枢轴关键字

while (i < j) {

// 从右向左找小于枢轴的元素

while (i < j && L.r[j].key >= pivot) j--;

if (i < j) L.r[i++] = L.r[j]; // 将找到的元素放到左方

// 从左向右找大于枢轴的元素

while (i < j && L.r[i].key <= pivot) i++;

if (i < j) L.r[j--] = L.r[i]; // 将找到的元素放到右方

}

L.r[i] = L.r[0]; // 将枢轴放到最终位置

相关推荐
FQNmxDG4S8 小时前
Java多线程编程:Thread与Runnable的并发控制
java·开发语言
虹科网络安全8 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
axng pmje9 小时前
Java语法进阶
java·开发语言·jvm
rKWP8gKv79 小时前
Java微服务性能监控:Prometheus与Grafana集成方案
java·微服务·prometheus
老前端的功夫9 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
qq_435287929 小时前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
小江的记录本9 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
yaoxin52112310 小时前
397. Java 文件操作基础 - 创建常规文件与临时文件
java·开发语言·python
极客先躯12 小时前
高级java每日一道面试题-2025年11月24日-容器与虚拟化题[Dockerj]-runc 的作用是什么?
java·oci 的命令行工具·最小可用·无守护进程·完全标准·创建容器的核心流程·runc 核心职责思维导图
用户606487671889612 小时前
AI 抢不走的技能:用 Claude API 构建自动化工作流实战
java