用rust写一个冒泡算法
时间: 2023-05-26 22:07:19 浏览: 81
以下是使用 Rust 语言实现冒泡排序算法的示例代码:
```rust
fn bubble_sort(array: &mut [i32]) {
let n = array.len();
for i in 0..n {
for j in 0..n-i-1 {
if array[j] > array[j+1] {
array.swap(j, j+1);
}
}
}
}
fn main() {
let mut arr = vec![5, 2, 8, 1, 4];
bubble_sort(&mut arr);
println!("{:?}", arr);
}
```
在这段代码中,我们定义了一个 `bubble_sort` 函数,它通过传入一个数组的引用来对这个数组进行排序。该函数使用两个嵌套循环来遍历整个数组,将相邻的元素进行比较,如果前一个元素大于后一个元素,则交换它们的位置。在第一次遍历结束后,保证了数组中最大的元素会被移到最后一个位置。在接下来的每次遍历中,将循环范围缩小一位,直到没有剩余的元素需要比较。
在主函数中,我们定义了一个整数类型的可变向量 `arr`,并将其初始化为 `[5, 2, 8, 1, 4]`。然后我们调用 `bubble_sort` 函数来对这个向量进行排序,并使用 `println!` 宏来输出排序后的结果。输出结果应该是 `[1, 2, 4, 5, 8]`。
相关问题
用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` 函数,它接受一个可变的整型数组作为参数,对其进行冒泡排序。函数中使用了两层循环,外层循环控制排序轮数,内层循环遍历当前轮数下的所有元素,如果相邻两个元素的顺序不符合要求,就交换它们的位置。最终,数组就会按照从小到大的顺序排好序。
希望这个代码示例能够帮到您,如果您还有其他问题,请继续提问吧!
用rust 实现一个冒泡算法
以下是用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`变量依次比较数组中相邻的元素,如果前一个元素大于后一个元素,就交换它们的位置,这样就能将较大的元素逐渐“冒泡”到数组的最后一个位置。最终,排序结果保存在原数组中。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)