【问题标题】:C++ Sorting a std::list of object by their valueC++ 按对象的值对对象的 std::list 进行排序
【发布时间】:2017-11-27 19:06:35
【问题描述】:

我正在用 C++ 为我的有向图开发一个基本的 DFS 算法。

我得到的是一个 Vertex 类,它有一个 char 值和一个邻接列表。

鉴于此,我正在尝试按其值对对象列表(在我的情况下为顶点,但让我们说点别的)进行排序。

我的课是这样的:

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() 来做到这一点。

有没有办法按 char 值对我的对象列表进行排序?

【问题讨论】:

标签: c++ sorting graph stl


【解决方案1】:

好的,我想我明白了。

抱歉这个愚蠢和重复的问题,我解决了在我的排序中添加一个 lambda 函数,并将列表更改为向量(我意识到我没有理由使用列表)

这样:

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

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 2012-12-24
    • 2021-09-16
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多