• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

c++的stl中map的使用

c++ 海叔叔 4年前 (2021-12-13) 41次浏览 已收录 0个评论
文章目录[隐藏]

关键词:c++,stl,stl map

c++++的stl中map的使用

#include<bits/stdc++.h>
using namespace std;
//typedef pair<const Key, T> value_type;
bool fncomp(char a, char b)
{    return a<b;     }
struct classcomp{
    bool operator () (const char& a,const char &b)
    {   return a<b;     }
};
int main()
{
    map<char ,int >my_map;// 直接定义
    // 复制定义
    map<char ,int >second(my_map);
    // 迭代器定义
    map<char ,int >third(my_map.begin(),my_map.end());
    map<char ,int ,classcomp>fourth;// 重新定义compare对象,对()重载
    // 通过函数指针
    // bool(*fn_pt)(char, char) = fncomp;
    // map<char, int, bool(*)(char, char)> fifth(fn_pt);
//=======================================================
    my_map['a']=1000;// 赋值
     
    my_map['b']=1;
    my_map['c']=10;
    map<char ,int >::key_compare key_comp;
    map<char ,int >::iterator t;// 指针
    t=my_map.begin();
    //遍历一遍,first第一个 second第二个
    for(;t!=my_map.end();t++)
        //t是指针,用->
        cout<<t->first<<" "<<t->second<<endl;
    cout<<"========================"<<endl;
//====================================================
    //插入元素
    my_map.insert(pair<char ,int >('x',101));
    my_map.insert(pair<char ,int >('p',99));
    cout<<"x=>"<<my_map.find('x')->second<<endl;
    cout<<"p=>"<<my_map.find('p')->second<<endl;
    cout<<"========================"<<endl;
//=====================================================
    //compare参数使用
    key_comp=my_map.key_comp();
     cout<<"mymap contains:\n";
    // 迭代器反向遍历的起始位置
    char highest=my_map.rbegin()->first;     // key value of last element
    t=my_map.begin();
    do {
        cout<<(*t).first<<" => "<<(*t).second<<endl;
    } while(key_comp((*t++).first,highest));
    cout << endl;
  //======================================================
    return 0;
}

来源搞代码网《c++的stl中map的使用》http://www.gaodaima.com/68569.html


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:c++的stl中map的使用
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址