Rust实现冒泡排序算法(Bubble Sort)

本文将使用Rust语言实现冒泡排序算法;

冒泡排序算法原理

该算法通过重复的遍历要排序的元素,依次比较两个相邻的元素,如果顺序错误则进行交换;通过重复的进行遍历直到没有相邻的元素需要交换,则表示排序已经完成;

Rust实现冒泡排序

fn bubble_sort<T: Ord>(arr: &mut [T]) {
    for i in 0..arr.len() {
        for j in 0..arr.len() - 1 - i {
            if arr[j] > arr[j + 1] {
                arr.swap(j, j + 1);
            }
        }
    }
}

fn main(){
    let mut ve1 = vec![5, -3, 0, 3, 1, 2, -1, 8, 7];
    println!("排序前: {:?}",ve1);
    bubble_sort(&mut ve1);
    println!("排序后:{:?}",ve1);
}

程序运行效果

排序前: [5, -3, 0, 3, 1, 2, -1, 8, 7]
排序后:[-3, -1, 0, 1, 2, 3, 5, 7, 8]

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/rust-bubble-sort.html

分类: 计算机技术
推荐阅读:
Golang中 :=的详细用法 在Go语言中:=运算符被用来声明变量以及给变量赋值,它可以自动推断变量类型;
近期WordPress更新失败以及官网无法打开原因 在WordPress后台进行更新,尝试多次均发生了 429 Too Many Requests 错误。起初以为是当前WordPress更新用户较多导致的,随后几天发现大多数用户还是无法更新,且错误都为429,且WordPress的官网也无法打开,返回429错误。
使用Python获取目录下的所有文件 要获取一个目录下的所有文件,你可以使用Python中的os和os.path模块。下面是一个获取目录下所有文件的例子代码:
Rust函数返回多个值 在Rust中,函数可以返回一个元组,这个元组可以包含多个值;
Linux查看实时活动的网络服务 在Linux系统下,你可以使用一条命令即可查看系统当前实时活动的网络服务:
Kali更新源的方法和优质国内源 所谓的Kali源,你可以将它理解为软件仓库,系统通过它安装和更新软件;源的服务器地址写在/etc/apt/sources.list文件中;当系统使用的当前源不可用或速度不理想时,就需要更换源;