请用rust写一个快速排序
时间: 2023-04-12 17:01:25 浏览: 112
快速排序
好的,以下是用 Rust 编写的快速排序代码:
```rust
fn quicksort(mut arr: &mut [i32]) {
if arr.len() <= 1 {
return;
}
let pivot = arr[0];
let mut i = 0;
let mut j = arr.len() - 1;
while i < j {
while arr[i] < pivot {
i += 1;
}
while arr[j] > pivot {
j -= 1;
}
if i <= j {
arr.swap(i, j);
i += 1;
j -= 1;
}
}
if j > 0 {
quicksort(&mut arr[0..=j]);
}
if i < arr.len() - 1 {
quicksort(&mut arr[i..]);
}
}
fn main() {
let mut arr = [5, 2, 9, 3, 7, 4, 8, 1, 6];
quicksort(&mut arr);
println!("{:?}", arr);
}
```
希望这个代码能够帮助到你!
阅读全文