zoukankan      html  css  js  c++  java
  • 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",
        },
    ]
    
  • 相关阅读:
    第二阶段第九天
    第二阶段第八天
    一轮项目冲刺——移山小分队(3)
    一轮项目冲刺——移山小分队(2)
    典型用户和用户场景
    一轮项目冲刺——移山小分队
    寻找水王
    NABCD需求分析
    每日记录01
    二维数组最大连通和的求解
  • 原文地址:https://www.cnblogs.com/hziwei/p/15714085.html
Copyright © 2011-2022 走看看