Sorting a vector of custom objects

后端 未结 13 2836
既然无缘
既然无缘 2020-11-21 05:14

How does one go about sorting a vector containing custom (i.e. user defined) objects.
Probably, standard STL algorithm sort along with a predicate (a fu

13条回答
  •  南笙
    南笙 (楼主)
    2020-11-21 05:50

    Below is the code using lambdas

    #include "stdafx.h"
    #include 
    #include 
    
    using namespace std;
    
    struct MyStruct
    {
        int key;
        std::string stringValue;
    
        MyStruct(int k, const std::string& s) : key(k), stringValue(s) {}
    };
    
    int main()
    {
        std::vector < MyStruct > vec;
    
        vec.push_back(MyStruct(4, "test"));
        vec.push_back(MyStruct(3, "a"));
        vec.push_back(MyStruct(2, "is"));
        vec.push_back(MyStruct(1, "this"));
    
        std::sort(vec.begin(), vec.end(), 
            [] (const MyStruct& struct1, const MyStruct& struct2)
            {
                return (struct1.key < struct2.key);
            }
        );
        return 0;
    }
    

提交回复
热议问题