【发布时间】:2013-01-03 09:06:00
【问题描述】:
我有
vector<vector<int>> vec
在我的 C++ 应用程序中。
每个整数向量作为“大”向量的一个元素都有 4 个 INT 值。 我想根据它的 ints 内容向量的第三个值对 vec 进行排序(我的意思是每个“内部”向量第三个元素) - 有可能吗?
编辑
假设我有一个函数
COST(vector<int>)
它根据我的向量值计算出一些值 - 我也可以在比较参数中使用它吗?它会帮助我更多。
【问题讨论】:
-
只需定义您自己的使用第三个元素的值的比较运算符。详情见这里:stackoverflow.com/questions/1380463/…
-
请记住,lambda 也是一种选择。
-
嗯,你内心所有的
vectors都包含4个ints,而且每个int都有特殊含义?听起来您更愿意将某个类的对象放在该向量中? -
在你的比较器中返回
cost(a) < cost(b)