C/C++教程

c++中map用法

本文主要是介绍c++中map用法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

#include <map>
#include <iostream>
using namespace std;

map<int, int> prime_factor(int n){
  map<int, int> res;
  for(int i = 2; i * i <= n; ++i){
    while(n % i == 0){
    

    //往map中添加键值对
    ++res[i];
    n /= i;
    }
  }
  if(n != 1)

  //如果n本身就是一个素数,则把n也添加中map中,值为1 

  res[n] = 1;

  return res;
}


int main(){
  map<int, int> ans = prime_factor(10);

  //定义一个迭代器
  map<int, int>::iterator it;  

  //访问map
  
for(it = ans.begin(); it != ans.end(); ++it)
    cout << it -> first << " " << it -> second << endl;

  //删除一组键值对
  ans.erase(2);

  for(it = ans.begin(); it != ans.end(); ++it)
    cout << it -> first << " " << it -> second << endl;
return 0;
}

这篇关于c++中map用法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!