集合set和映射map(哈希表)

集合set

无序集合unordered_set(要包含头文件unordered_set)

定义:unordered_set<int>
插入:s.insert(key)
查找:s.find(key)(返回的是目标元素的迭代器,若没找到返回end())
统计:s.count(key)统计key的个数</int>

有序集合set(要包含头文件set)

注意:默认排序是从小到大,如果要从大到小,需要自己利用仿函数构造(类)比较器,在定义set的时候在尖括号里加上比较器的名称
如果是自定义数据类型,则必须加比较器,否则编译器不知道如何进行排序
[定义比较器时]一定要加两个const

class myCompare
{
public:
    bool operator()(const Node& node1,const Node& node2) const
    {
        return node1.m_data > node2.m_data;
    }
};
set<Node,myCompare> s;

映射map

无序映射unordered_map(要包含头文件unordered_map)

定义:unordered_map<int,string>
插入:m.insert(make_pair(key,value))
查找:m.find(key)
统计:m.count(key)
取元素:key是it->first,value是it->second

有序映射map(要包含头文件map)

注意:默认排序是按照key从小到大,如果要从大到小,需要自己利用仿函数构造(类)比较器,在定义set的时候在尖括号里加上比较器的名称
如果是自定义数据类型,则必须加比较器,否则编译器不知道如何进行排序

class myCompare2
{
public:
    bool operator()(const Node& node1, const Node& node2) const
    {
        return node1.m_data > node2.m_data;
    }
};
    map<Node, int,myCompare2> m;
    Node node1(17, "mao");
    Node node2(21, "xin");
    Node node3(23, "qing");
    Node node4(34, "yu");
    Node node5(25, "hang");
    m.insert(make_pair(node1, 95));
    m.insert(make_pair(node2, 92));
    m.insert(make_pair(node3, 91));
    m.insert(make_pair(node4, 87));
    m.insert(make_pair(node5, 84));
    for (map<Node, int, myCompare2>::iterator it = m.begin(); it != m.end(); it++)
    {
        cout << "年龄: " << it->first.m_data << "姓名:" << it->first.m_name << "分数:" << it->second << endl;
    }
全部评论

相关推荐

时间线:&nbsp;1.4-1.5:&nbsp;boss&nbsp;牛客&nbsp;官网&nbsp;实习僧海投了两天,&nbsp;感觉确实没啥招人的啊,&nbsp;心里凉了一半.1.6:&nbsp;中午快手约面,&nbsp;下午字节hr飞书私聊约面,&nbsp;当时想着第一次面大厂感觉三个过一个一面就已经赢了.1.7:&nbsp;下午&nbsp;3点大厂处女面,&nbsp;哈哈面试官是重邮红岩的直接保送;&nbsp;5点快手一面,&nbsp;我说这个是我的第二次大厂面试,&nbsp;面试官问要是拿到字节和快手选择哪个,&nbsp;我说昨天看了一晚上快手百分百选快手哈哈哈.&nbsp;晚上5.30字节约二面,&nbsp;快手约二面,&nbsp;小红书约一面.1.8:&nbsp;下午2点快手二面,&nbsp;聊天面体验非常好(当天电话确认入职时间);&nbsp;4点字节二面这次不是校友了,&nbsp;然后有一个CSS实现switch效果的忘记属性咋写了,&nbsp;感觉危了;&nbsp;7.30&nbsp;问字节hr是不是挂了;&nbsp;9点开始小红书一面,&nbsp;难死我了,&nbsp;但我还是笑着面完了,&nbsp;然后卸载了小红书,&nbsp;但是过了一会会小红书hr约二面,&nbsp;遂下回来了字节约三面.1.9:&nbsp;下午2点字节三面,&nbsp;依旧聊天+算法,&nbsp;自己太菜了有一个写错了,&nbsp;面完感觉又危了;&nbsp;5点面小红书20min结束(offer审批);5.30又去问字节hr是不是挂了,&nbsp;hr小姐姐说干嘛用一个句式,&nbsp;我说手写题又又又没写出来😂,&nbsp;2min后约hr面;8.30&nbsp;快手offer总结,&nbsp;自己运气好遇到了好公司好部门好面试官,&nbsp;字节剪映&nbsp;快手电商&nbsp;小红书支付的面试体验都非常好,&nbsp;不会的题会带你一步一步思考,&nbsp;流程也非常快全部都是当天推进,&nbsp;小红书是以分钟为单位推进.&nbsp;&nbsp;面经以及细节等我慢慢整理,&nbsp;&nbsp;以及保佑所有的审批不要出问题,&nbsp;我是真怕最后全过了0offer😂bg:&nbsp;重邮&nbsp;大数据&nbsp;蓝山工作室&nbsp;一段非大厂实习
独角仙梦境:这是真👻了
找实习记录
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务