关于STL"set""map"的一些写法

大概学完了STL最常用的部分,把草稿一样的测试代码贴一下以备不时之需。
战士最仰仗手中的利剑,而ACMER最仰仗自己掌握的语言,要干人必须得先擦亮自己手中的剑吧,不然老是写出一堆bug岂不是很尴尬。

代码:

#include <bits/stdc++.h>
#include <map>
using namespace std;

struct node{
    int num;
    string str;
    friend bool operator<(node a,node b)
    {
        return a.num<b.num;
    }
    node(int a,string s):num(a),str(s){}
};

int main()
{
    int a;
    string str;
    node p=node(a,str);//构造函数写法


    multiset<string>s;
    s.insert("leizhuxi");
    s.insert("leizhuxi");
    s.insert("caoshao");
    s.insert("caobaqian");
    set<string>::iterator it1;//貌似set和multiset的iterator可以通用?
    for(it1=s.begin();it1!=s.end();++it1)
        cout<<*it1<<'\n';
    it1=s.begin();
    s.erase(*it1);
    cout<<"num="<<s.size()<<'\n';
    set<string>::reverse_iterator it2;
    for(it2=s.rbegin();it2!=s.rend();++it2)
        cout<<*it2<<'\n';

    map<string,int>M;
    M["caolei"]=1;
    M["luotong"]=2;
    M["myt"]=3;
    map<string,int>::iterator it;
    for(it=M.begin();it!=M.end();it++)
        cout<<it->first<<'\n';
    it=M.end();it--;
    printf("%d\n",it->second);//map的一些写法

    getchar();
    getchar();
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值