我是靠谱客的博主 贤惠路人,最近开发中收集的这篇文章主要介绍C++STL中map常见用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  • 自动建立Key-value的对应。key 和 value可以是任意你需要的类型。
  • 根据key值快速查找记录,查找的复杂度基本是log(N)。
  • 快速插入Key -Value 记录。
  • 快速删除记录。
  • 根据Key 修改value记录。
  • 遍历所有记录。
常见用法
#include<bits/stdc++.h>
#include<map>
using namespace std;
map<int, char> mp;
int main() {
	for(int i=0; i<3; i++) mp[i] = (char)(i + 'a');
	
	//常规用法 
	map<int, char>::iterator it;//迭代器 
	for(it=mp.begin(); it!=mp.end(); it++){
		cout << it->first << " " << it->second << endl;
	}
	
	//直接输出 
	cout << mp[1] << endl;
	
	//便捷用法
	for(auto it: mp){
		cout << it.first << " " << it.second << endl;
	}
	
	map<int, string> mp1;
	for(int i=0; i<3; i++) mp1[i] = "abcd"; 
	
	map<int, string>::iterator it1;
	for(it1=mp1.begin(); it1!=mp1.end(); it1++){
		cout << it1->first << " " << it1->second << endl;
	}
	
	//直接输出 
	cout << mp1[1][0] << endl;
	
	/*
	这里解释一下,你可以看map的值是什么类型来判断用
	比如:map<int, string> 那 map[i]就是一个string,
	map<int, char> map[i]就是一个字符
	map<int, vector<int> >  map<i>就是一个 vector 
	类似用法有很多 
	*/ 
	
	map<int, vector<int> > mp2;
	//mp2[i]就可以直接当成vector使用  
	for(int i=1; i<=10; i++){
		mp2[1].push_back(i);
	}
	int len = mp2[1].size();
	for(int i=0; i<len; i++){
		cout << mp2[1][i] << " ";
	}
	return 0;
}

最后

以上就是贤惠路人为你收集整理的C++STL中map常见用法的全部内容,希望文章能够帮你解决C++STL中map常见用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部