我有一个像vector < vector < coordinates > > v( points);
这样的二维矢量,坐标类是:
class coordinate{
public :
int x;
int y;
coordinate(){
x=0;
y=0;
}
};
并且积分是20。 如何基于v [i] .size()对各个向量v [i]进行排序,即基于在v [i]中推送的坐标对象的数量。 ???
答案 0 :(得分:14)
1)创建一个基于大小比较两个向量的函数:
bool less_vectors(const vector& a,const vector& b) {
return a.size() < b.size();
}
2)用它排序
sort(v.begin(),v.end(),less_vectors);
答案 1 :(得分:0)
创建一个函数,您可以使用任何属性来比较对象,然后使用STL sort()算法对容器进行排序。
重载&lt;该类的操作并使其与上述函数相同。然后你可以使用STL容器提供的sort()函数(比如STL列表)。