map的有关知识

关于map

简介

  • 又称映射,是键值对,第一个元素为键,第二个为值
  • 例如定义⼀个字符串 string 类型的⼈名为“键”,学号 int 类型为“值”,如 map<string, int> m
  • map内部是自动排序的
  • 可以修改实值,而不能修改key。

map的定义与大小

  • map<type 1,type 2> maps; 第一个是键的类型,第二个是值的类型

  • Int nSize = mapStudent.size();//大小
    

map元素的插入

  • 用insert函数插入

     map.insert(pair<int, string>(1, "student_one"));  
    
  • 用数组方式插入

     mapStudent[1] = "student_one";  
    

map的访问

  • 通过下标进行访问 如:maps[‘c’]=5;

  • 对map进行遍历

    //用迭代器遍历
    for (auto it = m.begin(); it != m.end(); it++)
    	cout << it->first << " " << it->second << endl;
    //用数组方式遍历
    for(int nindex = 1; nindex <= nSize; nindex++)  
    	cout<<mapStudent[nindex]<<endl;  
    

常用函数

begin() 返回指向map头部的迭代器 clear() 删除所有元素

count() 返回指定元素出现的次数 empty() 如果map为空则返回true

end() 返回指向map末尾的迭代器 erase() 删除一个元素

find() 查找一个元素 insert() 插入元素

lower_bound() 返回键值>=给定元素的第一个位置 max_size() 返回可以容纳的最大元素个数

size() 返回map中元素的个数 swap() 交换两个map

upper_bound() 返回键值>给定元素的第一个位置

value_comp() 返回比较元素value的函数

上一篇:归并排序详解及应用


下一篇:3762 二进制矩阵(思维题、构造)