map关联容器

/*  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[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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值