C++map关联容器2.0

map关联容器:

介绍:

map是一个关联容器,它可以提供一对一(其中第一个可以称为关键字,每个关键字只能在map中只出现一次,第二个可能称为该关键字的值)的数据处理能力,意思就是可以实现类似k[cds111] = 2的功能,除此之外,map还会对数据自动排序

调用头文件:

#include<map>

using namespace std;

详细用法(部分):

例如:

map<string, int> p;      ------      定义一个字符串与整型关联容器,其中每个字符串都对应着一个整数,即每个字符串

都为独特的key

对应上面的容器有:

p["student"] = 2;      ------      插入(覆盖)key,且字符串(key)"student"值为2(默认为0)

p.insert(pair<string, int>(str2, 1));      ------      插入key,且字符串(key)"student"值为1,如果(key)已经存在,则插入失败,该插入函数还会返回一个bool类型,为1表示插入成功,为0表示插入失败

p[key]      -------      表示key对应的值

p.count("student")      ------      查找p里是否有key:"student",有的话返回1,否则返回0


p.erase("student")      ------      删除key:"student",成功返回1,否则返回0

p.empty()      ------      判断容器是否为空,是的话返回1,不是返回0

p.clear()      ------      清空容器

p.size()      ------     返回容器中key个数


http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=690&pid=1004

#include<stdio.h>
#include<algorithm>
#include<string>
#include<map>
using namespace std;
map<string, int> p;
int main(void)
{  
	int T, len;
	char str[40];
	string str2;
	scanf("%d", &T);
	while(T--)
	{
		scanf("%s", str);
		len = strlen(str);
		sort(str, str+len);		/*对字符串进行排序*/
		str2.assign(str);	/*将C类的字符串转为C++的String以便作为key进入map*/
		p[str2]++;		/*字符串(key)str对应的值+1*/
		printf("%d\n", p[str2]-1);
	}
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值