rust实现冒泡排序

451 阅读1分钟

这段时间在学习rust,不得不说,上手难度还是很高的。刚刚好学到了第八章,常见集合 - Rust 程序设计语言 简体中文版 (kaisery.github.io),就想着既然学习了可变数组,联系一下学习的知识,就想着写一写冒泡,代码如下:

fn main(){
    let v2 = bubble_sort(&mut vec![2,5,1,6,0,9,100]);
    println!("冒泡排序结果为{:?}",v2);
}

fn bubble_sort(vec: &mut Vec<u32>) -> Vec<u32>{

    let mut v1 = Vec::new();
    let length = vec.len();
    let mut j = 0;
    
    while j < length - 1 {
    
        let mut i = 0;
        while i < (length - 1 - j) {
        
            if vec[i] > vec[i+1]{
                let temp = vec[i+1];
                vec[i+1] = vec[i];
                vec[i] = temp;
            }
            
            i += 1;
        }
        
        j += 1;
        
        v1.push(vec[length-j]);
    }
    
    v1
}

输出结果如下:

image.png

想了解冒泡排序的同学可以点击这里1.1 冒泡排序 | 菜鸟教程 (runoob.com)

想学习 rust的同学可以点击这里Rust 程序设计语言 - Rust 程序设计语言 简体中文版 (kaisery.github.io)

rust的编码平台Rust Playground (rust-lang.org)

如果代码有误,欢迎指正!!!