#include
#include
#include
using namespace std;
/*Student结构体*/
struct Student {
string name;
int id;
int score;
};
/*“仿函数"。为Student set指定排序准则*/
class studentSortCriterion {
public:
/*类型要与set容器类型一致*/
bool operator()( const Student *a, const Student *b ) const
{
// 成绩相等,按照id从小到大排;成绩不相等,按照成绩从大到小排
return( (a->score == b->score) ? (a->id < b->id) : (a->score > b->score) );
}
};
int main()
{
set stuSet;
set stus;
Student stu1, stu2, stu3;
stu1.name = "张三";
stu1.id = 1;
stu1.score = 100;
stu2.name = "李四";
stu2.id = 2;
stu2.score = 90;
stu3.name = "小明";
stu3.id = 3;
stu3.score = 100;
stuSet.insert( &stu1 );
stuSet.insert( &stu2 );
stuSet.insert( &stu3 );
/* 查找 */
Student stuTem;
stuTem.score = 100;
stuTem.id = 3;
Student * stuTempPtr;
set::iterator iter;
iter = stuSet.find( &stuTem );
if ( iter != stuSet.end() )
{
cout name
关注
打赏
热门博文
- DevOps实践教程 华为云 系列教程2021 合集
- ❤️Python Django网站开发 2021年最新版教程 合集❤️
- ❤️java多线程并发编程入门 教程合集❤️
- ❤️区块链Hyperledger Fabric 老版本 1.1.0 快速部署安装 教程合集❤️
- ❤️Docker教程小白实操入门 教程合集❤️
- ❤️微信小程序 云开发 教程合集(视频+图文)免费❤️
- C++ boost::asio::io_service创建线程池thread_group简单实例
- C++ error: ‘shared_ptr’ was not declared in this scope
- git 代码回滚回退到指定版本 并 提交
- C++ 得到map中最后一个元素