[c++] map使用简述
2021/4/29 12:25:13
本文主要是介绍[c++] map使用简述,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
功能:提供一对一的hash键值对处理
原理:自建一颗红黑树
使用:
头文件<map>
插入:
-
// 定义一个map对象
-
map<int, string> mapStudent;
-
// 第一种 用insert函數插入pair
-
mapStudent.insert(pair<int, string>(000, "student_zero"));
-
// 第二种 用insert函数插入value_type数据
-
mapStudent.insert(map<int, string>::value_type(001, "student_one"));
-
// 第三种 用"array"方式插入
-
mapStudent[123] = "student_first";
-
mapStudent[456] = "student_second";
查找:
-
// find 返回迭代器指向当前查找元素的位置否则返回map::end()位置
-
iter = mapStudent.find("123");
-
if(iter != mapStudent.end())
-
cout<<"Find, the value is"<<iter->second<<endl;
-
else
-
cout<<"Do not Find"<<endl;
删除:
-
iter = mapStudent.find("123");
-
mapStudent.erase(iter);
-
//用关键字刪除
-
int n = mapStudent.erase("123"); //如果刪除了會返回1,否則返回0
-
//用迭代器范围刪除 : 把整个map清空
-
mapStudent.erase(mapStudent.begin(), mapStudent.end());
-
//等同于mapStudent.clear()
其它:
map的基本操作函数:
C++ maps是一种关联式容器,包含“关键字/值”对
- begin() 返回指向map头部的迭代器
- clear() 删除所有元素
- count() 返回指定元素出现的次数
- empty() 如果map为空则返回true
- end() 返回指向map末尾的迭代器
- equal_range() 返回特殊条目的迭代器对
- erase() 删除一个元素
- find() 查找一个元素
- get_allocator() 返回map的配置器
- insert() 插入元素
- key_comp() 返回比较元素key的函数
- lower_bound() 返回键值>=给定元素的第一个位置
- max_size() 返回可以容纳的最大元素个数
- rbegin() 返回一个指向map尾部的逆向迭代器
- rend() 返回一个指向map头部的逆向迭代器
- size() 返回map中元素的个数
- swap() 交换两个map
- upper_bound() 返回键值>给定元素的第一个位置
- value_comp() 返回比较元素value的函数
这篇关于[c++] map使用简述的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享