set的基本操作

#include <set>
#include <iostream>
#include <string>
using namespace std;

//元素不是结构体,自定义比较函数如下:
//struct comp
//{
// bool operator()(const int &a,const int &b){
//  return a > b;
// }
//};

//集合内元素是结构体,可以将比较函数写在结构体内:
struct info
{
 string name;
 float score;
 bool operator < (const info &a) const{
  return a.score < score;
 }
};

int main(int argc,int **argv){

//集合的创建和集合的扩展
 //set<int,comp> s;
 //s.insert(8);
 //s.insert(1);
 //s.insert(12);
 //s.insert(6);
 //s.insert(8);

 set<info> s;
 info information;

 information.name = "张洪豪";
 information.score = 80.5;
 s.insert(information);

 information.name = "陈红";
 information.score = 90.5;
 s.insert(information);

 information.name = "何林林";
 information.score = 95;
    s.insert(information);

    //对集合的遍历!
 //set<int>::iterator iter ;
 //for (iter= s.begin();iter != s.end();++iter)
 // cout<<*iter<<" ";
 //cout<<endl;

//对集合元素的反向遍历!
 //set<int>::reverse_iterator iter1;
 //for (iter1 = s.rbegin();iter1 != s.rend();++iter1)
 // cout<<*iter1<<" ";
 //cout<<endl;

//对集合的删除
 //set<int>::iterator iter ;
    //s.erase(6);
 //for (iter= s.begin();iter != s.end();++iter)
 // cout<<*iter<<" ";
 //cout<<endl;
 //s.clear();
 //cout<<s.size()<<endl;

//集合元素的查找
 //set<int>::iterator it ;
 //it = s.find(6);
 //if(it!=s.end())
 // cout<<*it<<endl;
 //else
 // cout<<"can not find !"<<endl;
 //it = s.find(20);
 //if(it!=s.end())
 // cout<<*it<<endl;
 //else
 // cout<<"can not find !"<<endl;

 //set<int,comp>::iterator iter;
 set<info>::iterator iter;
 for (iter = s.begin();iter!=s.end();++iter)
  cout<<(*iter).name<<" : "<<(*iter).score<<endl;
 cout<<endl;
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值