pub fn partition(nums: &mut Vec<usize>, l: usize, r: usize) -> usize {
let pivot = r;
let mut i = l;
let mut j = r;
loop {
while nums[i] < nums[pivot] {
i += 1;
}
while nums[j] > nums[pivot] {
j -= 1;
}
if i >= j {
break;
} else {
nums.swap(i, j);
i += 1;
j -= 1;
}
}
nums.swap(i, pivot);
i
}
pub fn quick_sort(nums: &mut Vec<usize>, l: usize, r: usize) {
if l < r {
let p = partition(nums, l, r);
quick_sort(nums, l, p - 1);
quick_sort(nums, p + 1, r);
}
}
use crate::quick_sort;
fn do_work() {
let mut nums = vec![3, 6, 5, 10, 1, 0];
let len = nums.len() - 1;
quick_sort(&mut nums, 0, len);
println!("{:?}", &nums);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· Apache Tomcat RCE漏洞复现(CVE-2025-24813)