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 abs()函数 abs()函数是Python内置函数之一,它返回一个数的绝对值。这个函数只有一个参数,可以是整数、浮点数或者复数。
Implementation of the USB 2.0 controller not found!解决方案 你可能在使用VirtualBox启动虚拟机系统时碰到“不能为虚拟电脑打开一个新的任务”的错误提示,并提示 Implementation of the USB 2.0 controller not found!
MySQL ADDTIME() 函数 ADDTIME()函数将一个时间增加到另一个时间上,并返回结果;
Golang实现字符串的SHA1加密 本文将使用Go语言内置包 crypto/sha1 来实现SHA1加密。
SQL基本语法 SQL遵循一些独特的规则,基本语法如下:SQL不区分大小写。但我们通常将SQL关键字以大写形式编写,以便于区分;
Python获取系统CPU核心数量 在Python语言中,你可以通过os.cpu_count()获取CPU的核心数量,代码如下: