C 按其值对object的std ::列表进行排序

C++ Sorting a std::list of object by their value

本文关键字:列表 排序 std object      更新时间:2023-10-16

我正在为我的C 方向图的基本DFS算法。

我得到的是一个具有字符值和邻接列表的类顶点。

鉴于这一点,我正在尝试按照其价值对对象列表进行分类(在我的情况下,但要说其他话)。

我的班级就是这样:

class Foo {
private:
    char x;
    list<Foo*> listOfChildrenObject;
};

假设我们有5个Foo的对象。

A,B,C,D,E

现在,a是我程序中每个对象的父亲。

假设我以这种方式插入了它们:

A (the father), D, C, B, E

然后,我想按顺序打印它们:

A,B,C,D,E

为此,我想使用listofChildrenobject.sort()做到这一点。

有一种方法可以按字符值对我的对象列表进行排序?

好吧,我想我得到了。

对不起,我的愚蠢和重复的问题,我解决了将lambda函数添加到我的位置,然后将列表更改为向量(我意识到我没有理由使用列表)

这样:

std::sort(v.begin(), v.end(), [](Foo* a, Foo* b) {return a->getValue() < b->getValue(); });