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

分类: 计算机技术
推荐阅读:
Python sum()函数 在 Python 中,sum() 函数用于对给定的可迭代对象进行求和操作。
pip安装和更新scikit-learn(sklearn) scikit-learn(sklearn)是一个Python第三方提供的一个非常强大的机器学习库;使用pip工具安装方法如下:
解决Golang中cannot refer to unexported name xxxx这类错误 在Golang中,碰到cannot refer to unexported name xxxx,这类错误,通常是你调用了一个包内不存在的函数导致的;
使用Python求取前n个自然数的总和 给一个自然数n,使用Python求取前n个自然数的总和;
error connecting to db server: no reachable servers解决办法 在使用 mongoexport 进行数据导出时,出现 error connecting to db server: no reachable servers;解决方法如下:
Python setattr()函数 在 Python 中,setattr() 函数用于设置对象的属性值。它接受三个参数:要设置属性的对象、属性名称和属性值。如果对象已经存在具有相同名称的属性,则该属性的值将被覆盖。