c++ sort 自定义数据类型
时间: 2023-08-20 13:06:38 浏览: 171
在C++中,如果要对自定义数据类型进行排序,可以使用sort()函数,并传入一个自定义的比较函数作为第三个参数。比较函数需要接受两个参数,这两个参数是要比较的两个元素,比较函数需要返回一个bool值,表示第一个参数是否应该排在第二个参数之前。
在给定的例子中,我们定义了一个Person类,其中包含姓名和年龄两个成员变量。我们还定义了一个myCompare()函数作为比较函数,该函数根据Person对象的年龄进行比较,如果第一个参数的年龄大于第二个参数的年龄,则返回true,否则返回false。
在test01()函数中,我们创建了一个vector容器,并向其中添加了几个Person对象。然后,我们使用sort()函数对vector容器中的元素进行排序,传入myCompare()函数作为比较函数。最后,我们使用迭代器遍历vector容器,并输出排序后的结果。
运行该程序,我们可以看到按照Person对象的年龄从大到小的顺序进行了排序。
所以,要在C++中对自定义数据类型进行排序,需要定义一个比较函数,并将其作为sort()函数的第三个参数传入。比较函数根据需要的排序顺序返回true或false。
#### 引用[.reference_title]
- *1* *2* [c++ vector自定义数据类型做排序](https://blog.csdn.net/u012029030/article/details/100041961)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [C++中的sort自定义排序函数](https://blog.csdn.net/weixin_41588502/article/details/86620305)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文