• rust vec排序


    一、sort

            let mut v = vec![4,3,3,1,2];
            println!("{:#?}",v);
            v.sort(); 
            println!("{:#?}",v);
    

    结果:

    // 排序前结果
    [
        4,
        3,
        3,
        1,
        2,
    ]
    // 排序后结果
    [
        1,
        2,
        3,
        3,
        4,
    ]
    

    二、sort_by

    // 结构体
    #[derive(Debug)]
    pub struct Preson{
        name: String,
        age: i64,
        gender: String,
    }
            // 排序代码
            let mut v = Vec::new();
            let p1 = Preson{
                name: "hh1".to_string(),
                age: 18,
                gender: "men".to_string(),
            };
            let p2 = Preson{
                name: "hh2".to_string(),
                age: 16,
                gender: "women".to_string(),
            };
            let p3 = Preson{
                name: "hh3".to_string(),
                age: 15,
                gender: "men".to_string(),
            };
            let p4 = Preson{
                name: "hh4".to_string(),
                age: 17,
                gender: "women".to_string(),
            };
    
            v.push(p1);
            v.push(p2);
            v.push(p3);
            v.push(p4);
            println!("{:#?}",v);
            v.sort_by(|v1, v2| v1.age.cmp(&v2.age));
            println!("{:#?}",v);
    

    结果:

    [
        Preson {
            name: "hh1",
            age: 18,
            gender: "men",
        },
        Preson {
            name: "hh2",
            age: 16,
            gender: "women",
        },
        Preson {
            name: "hh3",
            age: 15,
            gender: "men",
        },
        Preson {
            name: "hh4",
            age: 17,
            gender: "women",
        },
    ]
    [
        Preson {
            name: "hh3",
            age: 15,
            gender: "men",
        },
        Preson {
            name: "hh2",
            age: 16,
            gender: "women",
        },
        Preson {
            name: "hh4",
            age: 17,
            gender: "women",
        },
        Preson {
            name: "hh1",
            age: 18,
            gender: "men",
        },
    ]
    
  • 相关阅读:
    apache httpd配置问题
    php文件上传进度控制模块
    “fixed” css style in mobile safari
    第八周进度表
    大白鱼团队项目计划表
    第七周进度表
    结对开发团队成员以及题目介绍
    软件工程结对作业01
    软件工程子数组求和1
    软件工程子数组求和2
  • 原文地址:https://www.cnblogs.com/hziwei/p/15714085.html
Copyright © 2020-2023  润新知