递归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]; // 将枢轴放到最终位置

相关推荐
代码不停2 小时前
Spring Boot快速入手
java·spring boot·后端
-Excalibur-2 小时前
关于计算机网络当中的各种计时器
java·c语言·网络·c++·笔记·python·计算机网络
小宇的天下2 小时前
Calibre nmDRC 运行机制与规则文件(13-1)
java·开发语言·数据库
阿拉斯攀登2 小时前
设计模式:实战概要
java·设计模式
阿拉斯攀登2 小时前
设计模式:工厂模式概要
java·设计模式·抽象工厂模式
曹轲恒2 小时前
Java Collections & Arrays 工具类
java
.卡2 小时前
(022)FastJson 序列化导致的 java.util.ConcurrentModificationException
java
武子康2 小时前
Java-218 RocketMQ Java API 实战:同步/异步 Producer 与 Pull/Push Consumer
java·大数据·分布式·消息队列·rocketmq·java-rocketmq·mq
不爱吃米饭_2 小时前
Spring Security、Apache Shiro、Sa-Token,主流安全框架如何选择?
java·安全