根据结构成员对结构向量进行排序 [英] Sorting a vector of structure based on structure member

查看:115
本文介绍了根据结构成员对结构向量进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我有一个结构向量.
结构任务
{
int field1;
int field2;
};
向量< task> vec;

如何根据"field1"对向量进行排序?
我使用以下代码进行排序:

Hi,
I have a vector of structures.
Struct Task
{
int field1;
int field2;
};
vector <task> vec;

How can i sort the vector based on "field1" ?
I used the following code for sorting:

bool sortByField1(Task *t1, Task *t2)
{
    if(t1->field1> t2->field1)
    {
        return true;
    }
    else
        return false;
}



并称为



and called

std::sort(vec.begin(), vec.end(),
          sortByField1());



我收到错误消息,说sortByField1()不接受0参数.

我用谷歌搜索,但没有得到任何可以帮助我解决这个问题的东西.
请提供您的输入.



I get error saying sortByField1() does not take 0 param.

I googled and i did not get anything that could help my case.
Please provide your inputs.

推荐答案

bool sortByField1(Task &t1, Task &t2)
{
    if(t1->field1> t2->field1)
    {
        return true;
    }
    else
        return false;
}
and called

std::sort(vec.begin(), vec.end(),
          sortByField1);


这篇关于根据结构成员对结构向量进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆