STL之map实现
来源:互联网 发布:方正兰亭黑简体 mac 编辑:程序博客网 时间:2024/05/19 16:33
STL map
#include<stdio.h>#include<map>using namespace std;/*C++ Maps是一种关联式容器,包含“关键字/值”对begin() 返回指向map头部的迭代器clear() 删除所有元素count() 返回指定元素出现的次数empty() 如果map为空则返回trueend() 返回指向map末尾的迭代器equal_range() 返回特殊条目的迭代器对erase() 删除一个元素find() 查找一个元素get_allocator() 返回map的配置器insert() 插入元素key_comp() 返回比较元素key的函数lower_bound() 返回键值>=给定元素的第一个位置max_size() 返回可以容纳的最大元素个数rbegin() 返回一个指向map尾部的逆向迭代器rend() 返回一个指向map头部的逆向迭代器size() 返回map中元素的个数swap() 交换两个mapupper_bound() 返回键值>给定元素的第一个位置value_comp() 返回比较元素value的函数*/int main(){ int n; map<int,int>mymap; int a[10]={3,1,2,5,3,6,7,9,6,3}; mymap.clear();//清零 int ans,t; for(int i=0;i<10;i++) mymap[a[i]]++;//进入map后自动排序,切每个元素只出现一次 map<int,int>::iterator it;//迭代器,可以理解为一个指针 for(it=mymap.begin();it!=mymap.end();it++) printf("%d ",*it); //用迭代器指向首元素,it++指向下一个 printf("\n%d",mymap.count(3));//map中count作为判断是否存在返回值为0或1,对于find函数,暂时不作分析 printf("\n%d\n",mymap.empty());//空返回1,不空返回0 mymap.erase(9);//删除某元素 printf("erase 9:") ; for(it=mymap.begin();it!=mymap.end();it++) printf("%d ",*it); printf("\n%d",mymap.size());//个数 return 0;}
映射和多重映射基于某一类型Key的键集的存在,提供对T类型的数据进行快速和高效的检索。对map而言,键只是指存储在容器中的某一成员。Map不支持副本键,multimap支持副本键。Map和multimap对象包涵了键和各个键有关的值,键和值的数据类型是不相同的,这与set不同。set中的key和value是Key类型的,而map中的key和value是一个pair结构中的两个分量。(来自百度文库,反正我是没怎么看懂- -)
0 0
- STL之map实现
- STL之map实现
- 【STL】STL之map
- 《STL系列》之map原理及实现
- STL之map实现(一)
- STL之map实现(二)
- STL之map实现(三)
- STL之map实现(四)
- STL之map实现(五)
- 【STL】STL容器之map
- STL之map
- STL之map
- STL之map
- STL之map
- STL Containers之map
- STL之MAP
- STL之map笔记
- STL之map
- 在windows下编辑shell脚本注意点
- I/O模型详解
- 继承初始化小例
- POSIT算法的原理--opencv 3D姿态估计
- 计算机网络(浅谈FTP协议)
- STL之map实现
- JqueryMobile安装在服务器
- 计算机网络(浅谈SMTP协议)
- C# 使用正则表达式判断字符串是否由英文或数字组成
- 上拉使标题背景颜色渐变
- 深入对象的copy和mutableCopy
- ajax使用jquery提交或者ajaxanywhere2种提交方式的取得数据的方法
- Eclipse UML插件AmaterasUML的配置及使用
- HDU1029----Ignatius and the Princess IV(map实现)