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