C++ 按myvector对向量进行排序[i][0]

C++ 按myvector对向量进行排序[i][0],c++,algorithm,C++,Algorithm,我有一个向量向量,如下所示: vector< vector<int> > intervals; vector区间; 基本上,我需要使用STL的sort()对向量进行排序,但我需要对间隔[I][0]进行“interval”排序。因此,按每个对象的[0]元素对向量对象进行排序 我该怎么做?提前谢谢。将object的comparator函数作为第三个参数,因此您可以定义一个小于运算符,该运算符接受两个向量并比较它们的第一个元素 bool foo(const std::vec

我有一个向量向量,如下所示:

vector< vector<int> > intervals;
vector区间;
基本上,我需要使用STL的sort()对向量进行排序,但我需要对间隔[I][0]进行“interval”排序。因此,按每个对象的[0]元素对向量对象进行排序

我该怎么做?提前谢谢。

将object的comparator函数作为第三个参数,因此您可以定义一个小于运算符,该运算符接受两个向量并比较它们的第一个元素

bool foo(const std::vector<int>& a, const std::vector<int>& b) {
  // in real life you may want to check vectors aren't empty.
  // in real life you wouldn't call this foo either.
  return a[0]<b[0];
}

int main() {
  std::vector<std::vector<int>> v = ...;
  std::sort(v.begin(), v.end(), foo);
}
bool-foo(const-std::vector&a,const-std::vector&b){
//在现实生活中,您可能需要检查向量是否为空。
//在现实生活中,你也不会把这个叫做foo。
返回一个[0]将object的comparator函数作为第三个参数,因此您可以定义一个小于运算符,该运算符接受两个向量并比较它们的第一个元素

bool foo(const std::vector<int>& a, const std::vector<int>& b) {
  // in real life you may want to check vectors aren't empty.
  // in real life you wouldn't call this foo either.
  return a[0]<b[0];
}

int main() {
  std::vector<std::vector<int>> v = ...;
  std::sort(v.begin(), v.end(), foo);
}
bool-foo(const-std::vector&a,const-std::vector&b){
//在现实生活中,您可能需要检查向量是否为空。
//在现实生活中,你也不会把这个叫做foo。

返回[0]在键为
向量[0]
的位置,您是否可以只使用
映射
?在键为
向量[0]的位置,您是否可以只使用
映射
?我不会使用
foo
作为比较函数的名称,否则这就是方法。@MarkRansom我也不会!注意到。我不会使用
foo
作为比较函数的名称,否则这就是方法。@MarkRansom我也不会!注意到。