21xrx.com
2024-11-22 10:08:47 Friday
登录
文章检索 我的文章 写文章
C++中map的使用方法
2023-06-27 02:04:37 深夜i     --     --
C++ map 使用方法

C++中的map是一个非常方便的数据结构,在许多情况下可以使用它来解决问题。它可以在O(logn)的时间内查找和插入元素,并且可以按key值排序。

1. 定义和初始化map


#include <map>

using namespace std;

int main(){

  map<int,string> mymap;  //定义一个map

  mymap[1] = "apple";   //插入元素

  mymap[2] = "banana";

  mymap[3] = "orange";

  //使用迭代器遍历map

  for(map<int,string>::iterator it = mymap.begin(); it != mymap.end(); it++)

    cout<<it->first<<":"<<it->second<<endl;

  

  //判断key是否存在

  if(mymap.count(2))

    cout<<"key 2 exists"<<endl;

  

  return 0;

}

2. 查找元素


#include <map>

using namespace std;

int main(){

  map<string,int> mymap;

  mymap["apple"] = 10;

  mymap["banana"] = 20;

  mymap["orange"] = 30;

  //根据key查找元素

  cout<<mymap["apple"]<<endl;

  //使用迭代器查找元素

  for(map<string,int>::iterator it = mymap.begin(); it != mymap.end(); it++){

    if(it->second == 20)

      cout<<it->first<<endl;

    

  }

  return 0;

}

3. 删除元素


#include <map>

using namespace std;

int main(){

  map<string,int> mymap;

  mymap["apple"] = 10;

  mymap["banana"] = 20;

  mymap["orange"] = 30;

  //删除key为"banana"的元素

  mymap.erase("banana");

  //遍历map

  for(map<string,int>::iterator it = mymap.begin(); it != mymap.end(); it++)

    cout<<it->first<<":"<<it->second<<endl;

  

  //删除迭代器指向的元素

  map<string,int>::iterator it = mymap.find("apple");

  mymap.erase(it);

  return 0;

}

4. 其它操作


#include <map>

using namespace std;

int main(){

  map<string,int> mymap;

  mymap["apple"] = 10;

  mymap["banana"] = 20;

  mymap["orange"] = 30;

  //获取元素个数

  cout<<mymap.size()<<endl;

  //判断map是否为空

  if(mymap.empty())

    cout<<"map is empty"<<endl;

  

  //清空map

  mymap.clear();

  return 0;

}

以上就是C++中map的主要用法,希望对大家有所帮助。在实际应用中,使用map可以大大简化代码,提高效率。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复