Course3-substrate

22 阅读1分钟

题目:使用Rust语言写一个冒泡排序的算法,基础要求是使用固定类型(比如i32)的数组排序,提高部分是能够使用template和PartialOrd实现对任意类型的排序

//Author:Doris
fn main() {
 
    let mut list = vec![1, 34, 50, 200, 34, 51, 25, 100, 65];
    bubble_sort(&mut list);
    println!("{:?}  ", list);
 
    let mut list = vec!['D', 'o', 'r', 'i', 's'];
    bubble_sort(&mut list);
    println!("{:?}  ", list);
}

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

运行截图:

image.png