小编mlx*_*x11的帖子

如何对二维向量进行排序

我有一个向量L,其中每个向量包含2个双打。我想按它们的第一个元素对L中的向量进行排序。

vector<vector<double>> L;
Run Code Online (Sandbox Code Playgroud)

我尝试将std :: sort算法与自写的compare函数结合使用,如下所示:

    bool compare(const vector<double> &v1, const vector<double> &v2)
    {
        return v1[0] < v2[0];
    }

    void out_2d_vecotr_as_value_pairs(vector<vector<double>> &L)
    {
        L = sort(L.begin(), L.end(), compare);
            ...
    }
Run Code Online (Sandbox Code Playgroud)

但是对于调用sort()函数的行,我得到了我不理解的错误:

projet.cc:234:38: error: no match for ‘operator=’ (operand types are ‘std::vector<std::vector<double> >’ and ‘void’)
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

c++ stdvector c++11

-2
推荐指数
1
解决办法
45
查看次数

标签 统计

c++ ×1

c++11 ×1

stdvector ×1