首页 > 代码库 > map的用法
map的用法
/*ACM中map的基本的用法,主要是用数组的形式实现。1.构造map2.数据插入3.map的大小4.数据的查找5.数据的删除*/#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<map>using namespace std;int main(){ map<int,string>m;//构造map m.clear();//数据清空 m[1] = "abc";//数据插入 m[2] = "def"; m[3] = "ghi"; cout<<m.size()<<endl;//输出map的大小 if(m[1].size()) cout<<m[1]<<endl;//先判断该数据是否存在,存在就输出 cout<<m[4].size()<<endl;//不出在输出0 int n = m.erase(1);//删除元素,成功的话返回1 return 0;}//如果map的映射值类型为字符类型,那么输出这个映射值不能用printf();输出,会报错,cout就行。
/*lower_bound(),upper_bound()函数介绍*/#include<iostream>#include<cstdio>#include<cstring>#include<string>#include <algorithm>#include<map>using namespace std;int a[10] = {2,3,4,5,6,7,8,9};int main(){ int n = 8;//数组长度 int pos = lower_bound(a,a+n,5)-a;//返回大于等于5的那个数在数组中的地址 cout<<a[pos]<<endl; pos = upper_bound(a,a+n,5) -a;//返回大于5的那个数在数组中的地址 cout<<a[pos]<<endl; pos = lower_bound(a,a+n,100)-a;//返回的是一个越界的数值,返回8 cout<<pos<<endl; return 0;}
#include <iostream>
#include <map>
#include <string>
using namespace std;
typedef struct tt//重载排序
{
int id;
string name;
bool operator < (const tt &a) const{
return a.id>id;
}
}; //学生信息
int main()
{
int nSize;
//用学生信息映射分数
map<tt, int>m;
map<tt, int>::iterator iter;
tt s;
s.id = 2;
s.name = "Jack";
m[s] = 100;
s.id = 1;
s.name = "Rose";
m[s] = 100;
for (iter=m.begin(); iter!=m.end(); iter++)
cout<<iter->first.id<<" "<<iter->first.name<<" "<<iter->second<<endl;
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。