用Rust写一个冒泡排序
时间: 2024-05-10 21:21:06 浏览: 166
这里是使用Rust编写的冒泡排序的示例代码:
```rust
fn bubble_sort(arr: &mut [i32]) {
let n = arr.len();
for i in 0..n {
for j in 0..n-i-1 {
if arr[j] > arr[j+1] {
arr.swap(j, j+1);
}
}
}
}
fn main() {
let mut arr = [4, 2, 1, 3, 5];
bubble_sort(&mut arr);
println!("{:?}", arr);
}
```
首先定义了一个名为`bubble_sort`的函数,该函数使用可变引用`&mut`来接收一个整数类型的数组`arr`作为参数。然后在函数体中使用两个嵌套循环来执行冒泡排序算法,外层循环从`0`到`n-1`,内层循环从`0`到`n-i-1`,其中`n`是数组的长度,`i`是外层循环的当前迭代次数。在内层循环中,如果当前元素比下一个元素大,则交换它们的位置。最后在`main`函数中定义一个整数类型的数组`arr`,调用`bubble_sort`函数对它进行排序,最后打印排序后的结果。
相关问题
用rust写一个冒泡排序
下面是一个用 Rust 实现的冒泡排序示例代码:
```rust
fn bubble_sort(arr: &mut [i32]) {
let n = arr.len();
for i in 0..n {
for j in 0..n-i-1 {
if arr[j] > arr[j+1] {
arr.swap(j, j+1);
}
}
}
}
fn main() {
let mut arr = [5, 2, 9, 1, 5, 6];
bubble_sort(&mut arr);
println!("{:?}", arr);
}
```
运行结果为:
```
[1, 2, 5, 5, 6, 9]
```
用rust写一个冒泡排序算法
当然可以!这是一个简单但经典的排序算法,我很乐意为您提供代码示例。下面是用 Rust 语言实现的冒泡排序算法:
```rust
fn bubble_sort(arr: &mut [i32]) {
let n = arr.len();
for i in 0..n {
for j in 0..n-i-1 {
if arr[j] > arr[j+1] {
arr.swap(j, j+1);
}
}
}
}
```
这里定义了一个 `bubble_sort` 函数,它接受一个可变的整型数组作为参数,对其进行冒泡排序。函数中使用了两层循环,外层循环控制排序轮数,内层循环遍历当前轮数下的所有元素,如果相邻两个元素的顺序不符合要求,就交换它们的位置。最终,数组就会按照从小到大的顺序排好序。
希望这个代码示例能够帮到您,如果您还有其他问题,请继续提问吧!
阅读全文