数据结构之map UVa156

 1 #include <iostream>
 2 #include <cstring>
 3 #include <cstdio>
 4 #include <algorithm>
 5 #include <vector>
 6 #include <map>
 7
 8 using namespace std;
 9
10 map<string,int> arr;
11 vector<string> word;
12
13 string change(string str)
14 {
15     string ans=str;
16     for(int i=0;i<str.length();i++)
17     {
18         ans[i]=tolower(ans[i]);
19     }
20     sort(ans.begin(),ans.end());
21     return ans;
22 }
23
24 int main()
25 {
26     string str,str1;
27     while(cin>>str)
28     {
29         if(str[0]==‘#‘)
30             break;
31         str1=change(str);
32         word.push_back(str);
33         if(!arr.count(str1))
34             arr[str1]=0;
35         arr[str1]++;
36     }
37     vector<string> ans;
38     for(int i=0;i<word.size();i++)
39     {
40         if(arr[change(word[i])]==1)
41            ans.push_back(word[i]);
42     }
43     sort(ans.begin(),ans.end());
44     for(int i=0;i<ans.size();i++)
45         cout<<ans[i]<<endl;
46     return 0;
47 }

map

map类似于一个高级数组,下表类型可自行定义,类似于定义一个映射关系,也称“关联数组”

可用函数

intset,find,count(看是否有这个下表,有,则返回1,没有则返回0),remove

时间: 2024-10-10 10:54:24

数据结构之map UVa156的相关文章

ES6 之 Set数据结构和Map数据结构 Iterator和for...of循环

ECMAScript 6 入门 Set数据结构 基本用法 ES6提供了新的数据结构Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set本身是一个构造函数,用来生成Set数据结构. var s = new Set(); [2, 3, 5, 4, 5, 2, 2].map(x => s.add(x)); for (let i of s) { console.log(i); } // 2 3 5 4 上面代码通过add方法向Set结构加入成员,结果表明Set结构不会添加重复的值. 向S

Java 数据结构之Map总结

首先查看源码:Map经常运用到的源码 /** * Returns a {@code Set} containing all of the mappings in this {@code Map}. Each mapping is * an instance of {@link Map.Entry}. As the {@code Set} is backed by this {@code Map}, * changes in one will be reflected in the other.

基础常用的数据结构 Collection Map

map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等.其中这四者的区别如下(简单介绍): HashMap:我们最常用的Map,它根据key的HashCode 值来存储数据,根据key可以直接获取它的Value,同时它具有很快的访问速度.HashMap最多只允许一条记录的key值为Null(多条会覆盖);允许多条记录的Value为 Null.非同步的. TreeMap: 能够把它保存的记录根据key排序,默认是按升序排序,

数据结构Set和Map

一.数据结构 Set 集合的基本概念:集合是由一组无序且唯一(即不能重复)的项组成的.这个数据结构使用了与有限集合相同的数学概念,应用在计算机的数据结构中.  特点:key 和 value 相同,没有重复的 value.ES6 提供了数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. 1. 如何创建一个 Set const s = new Set([1, 2, 3]); 2.属性 console.log(s.size); // 3 3.Set 类的方法 --set.add(v

ES6中的Set、Map数据结构

Map.Set都是ES6新的数据结构,他们都是新的内置构造函数.也就是说typeof的结果,多了两个. 他们是什么:  Set是不能重复的数组.    Map是可以任何东西当做键的对象: ES6 提供了新的数据结构 Set.它类似于数组,但是Set成员的值都是唯一的,没有重复的值. let m = new Set(); m.add(1); m.add(2); m.add(3); m.add(3); m.add(3); m.add(4); m.add(5); console.log(m); 集合中

es6-Set和Map数据结构

Set 基本用法 ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. const s = new Set(); [2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x)); for (let i of s) { console.log(i); } // 2 3 5 4 上面代码通过add方法向 Set 结构加入成员,结果表明 Set 结构不会添加重复的值. Set 函数可

js ES6 Set和Map数据结构详解

这篇文章主要介绍了ES6学习笔记之Set和Map数据结构,结合实例形式详细分析了ECMAScript中基本数据结构Set和Map的常用属性与方法的功能.用法及相关注意事项,需要的朋友可以参考下 本文实例讲述了ES6学习笔记之Set和Map数据结构.分享给大家供大家参考,具体如下: 一.Set ES6提供了新的数据结构Set.类似于数组,只不过其成员值都是唯一的,没有重复的值. Set本身是一个构造函数,用来生成Set数据结构. 1 . Set函数可以接受一个数组(或类似数组的对象)作为参数,用来

10.Set 和 Map 数据结构

Set 和 Map 数据结构 Set 和 Map 数据结构 Set 基本用法 ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. const s = new Set(); [2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x)); for (let i of s) { console.log(i); } // 2 3 5 4 上面代码通过add方法向 Set 结构加入成

es6笔记(5)Map数据结构

概要 字典是用来存储不重复key的Hash结构.不同于集合(Set)的一点,字典使用的是[key,value]的形式来存储数据. JavaScript的对象(Object:{})只能用字符串当做key.使用起来有一定限制. 为了解决这个问题,ES6提供的Map数据结构.它类似与对象,也是[key,value]的集合,但是key的范围不限于字符串,各种类型的值(包括对象)都可以当做key. 也就是说Object结构提供了 "字符串--值"的对应: Map提供了"值--值&quo