用rust 实现一个冒泡算法
时间: 2023-05-26 14:07:32 浏览: 165
冒泡算法的实现
以下是用Rust实现冒泡算法的示例代码:
```rust
fn bubble_sort(arr: &mut [i32]) {
let len = arr.len();
for i in 0..len {
for j in 0..len-i-1 {
if arr[j] > arr[j+1] {
arr.swap(j, j+1);
}
}
}
}
fn main() {
let mut arr = [5, 2, 7, 1, 9];
bubble_sort(&mut arr);
println!("{:?}", arr); // 输出 [1, 2, 5, 7, 9]
}
```
这里定义了一个名为`bubble_sort`的函数,它接受一个可变的整型数组作为参数。在函数体内,使用两个嵌套的循环来实现冒泡排序。外层循环通过`i`变量控制需要比较的元素个数,即每次将最大的元素“冒泡”到数组的最后一个位置。内层循环通过`j`变量依次比较数组中相邻的元素,如果前一个元素大于后一个元素,就交换它们的位置,这样就能将较大的元素逐渐“冒泡”到数组的最后一个位置。最终,排序结果保存在原数组中。
阅读全文