用rust写一个冒泡排序
时间: 2023-12-31 11:47:12 浏览: 67
汇编写冒泡排序
以下是用Rust编写的冒泡排序算法:
```rust
fn bubble_sort(arr: &mut [i32]) {
let len = arr.len();
for i in 0..len {
for j in 0..len-1-i {
if arr[j] > arr[j+1] {
arr.swap(j, j+1);
}
}
}
}
fn main() {
let mut arr = [64, 34, 25, 12, 22, 11, 90];
bubble_sort(&mut arr);
println!("Sorted array: {:?}", arr);
}
```
该算法使用两个嵌套的循环来遍历数组并比较相邻的元素。如果前面的元素大于后面的元素,则交换它们的位置。在每次迭代中,最大的元素都会被移到最后的位置。最终,整个数组将会按照升序排列。
在上面的代码中,我们定义了一个名为`bubble_sort`的函数,该函数接受一个可变的整数数组作为参数,并使用`len()`函数计算数组的长度。然后,我们使用两个for循环来遍历数组,并在内部循环中比较相邻的元素。如果前面的元素大于后面的元素,则使用`swap()`函数交换它们的位置。
最后,我们在`main()`函数中定义了一个包含7个整数的数组,并将其传递给`bubble_sort()`函数进行排序。排序完成后,我们使用`println!()`函数将排序后的数组打印到控制台上。
阅读全文