<algorithm> 使用对象进行矢量排序?
<algorithm> vector sort with objects?
因此,在标题中的C 文档中,有一个不错的函数可以使您对向量进行排序。我有一个Person
类。我有指向该类的对象的指针向量(vector<Person*>
),我想通过不同的参数比较人们,例如年龄,名称的长度等。
我已经具有返回所需变量的函数,但我不确定该怎么做。这是C 参考中的Sort Vector函数的链接http://www.cplusplus.com/reference/algorithm/sort/
太简单了:
struct student
{
string name;
string grade;
};
bool cmd(const student & s1, const student & s2)
{
if (s1.name != s2.name) return s1.name < s2.name;
return s1.grade < s2.grade;
}
然后:
vector<student> s;
sort(s.begin(), s.end(), cmd);
学生将按字母分类。如果两个学生的名字相同,则将使用其成绩订购。
尝试使用对象的相同属性来覆盖运算符。之后,您可以重新定义某种类型的操作。
相关文章:
- 二叉排序树无法编译
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- 请解释这句话(cout<<1+int((a<b)^((b-a)&1) )<<endl
- C++选择排序算法中的逻辑错误
- 呼叫运营商<<临时
- 使用C++程序合并排序没有得到正确的输出
- 计算排序向量的向量中唯一值的计数
- 排序算法c++
- 使用2个键的cpp-stl::优先级队列排序不正确
- 将结构向量排序为子组
- 在c++中尝试对对象数组进行排序时,出现std:bad_alloc错误
- 如何对点云数据进行排序
- 对字符串进行排序时,在c++中处理sort()
- 是否有类似std::lower_bound的函数,而不需要排序/分区输入
- 如何防止clang格式在流运算符调用之间添加换行符<<
- 下面是排序算法O(n)吗
- std::sort()函数无法对向量的一部分进行排序
- shell排序中的交换和比较
- C :对矢量进行排序&lt; struct&gt;(结构有2个整数)基于结构的整数之一
- 我怎样才能到达cout<<"排序:";;当C++中没有输入数字时