首页 > 编程 > C++ > 正文

C++关联容器(unordered_map,vector,unordered_set)

2019-11-06 06:31:01
字体:
来源:转载
供稿:网友

说明书: http://classfoo.com/ccby/article/qNNOJ#sec_4Gxme0

unordered_set:(无序集合)

//500class Solution {public: vector<string> findWords(vector<string>& words) { vector<string> res;//来一个string类的动态数组 unordered_set<char> row1{'q','w','e','r','t','y','u','i','o','p'};//存储键盘上第一行的字母 unordered_set<char> row2{'a','s','d','f','g','h','j','k','l'};//存储键盘上第二行的字母 unordered_set<char> row3{'z','x','c','v','b','n','m'};//存储键盘上第三行的字母 for (string word : words) //for循环数组words,words的元素就是一个单词 { int one = 0, two = 0, three = 0;//初始化计数器 for (char c : word) {//for循环数组word(一个单词),word的元素即是字符 if (c < 'a') c += 32; if (row1.count(c)) one = 1;//count函数返回的是符合的元素的个数,如果没有,则返回0,即false,大于0则为true if (row2.count(c)) two = 1; if (row3.count(c)) three = 1; if (one + two + three > 1) break;//即这个单词只用一行是无法输入完的 } if (one + two + three == 1) res.push_back(word); } return res; }};

**成员函数: find 通过给定主键查找元素 count 返回匹配给定主键的元素的个数//见上例子 equal_range 返回值匹配给定搜索值的元素组成的范围**

vector(顺序容器)

//详解:http://blog.csdn.net/QQ_32175379/article/details/60469987说白了就是定义动态数组的

unordered_map(无序映射表)

//496//建立哈希表用class Solution {public: vector<int> nextGreaterElement(vector<int>& findNums, vector<int>& nums) { vector<int> res(findNums.size()); unordered_map<int, int> m;//建立哈希表,将值与索引建立联系 for (int i = 0; i < nums.size(); ++i) { m[nums[i]] = i;//例如将nums数组的值与索引建立关系,这个m数组不是一般的数组,自行画图理解 } for (int i = 0; i < findNums.size(); ++i) { res[i] = -1; int start = m[**findNums[i]**];//这个可以直接定位findNums中元素的值在nums中的位置 for (int j = start + 1; j < nums.size(); ++j) { if (nums[j] > findNums[i]) { res[i] = nums[j]; break; } } } return res; }};

成员函数: begin 返回指向容器起始位置的迭代器(iterator) end 返回指向容器末尾位置的迭代器 cbegin 返回指向容器起始位置的常迭代器(const_iterator) cend 返回指向容器末尾位置的常迭代器 Capacity:

size 返回有效元素个数 max_size 返回 unordered_map 支持的最大元素个数 empty 判断是否为空 Element access:

Operator[] 访问元素 at 访问元素 Modifiers:

insert 插入元素 erase 删除元素 swap 交换内容 clear 清空内容 emplace 构造及插入一个元素 emplace_hint 按提示构造及插入一个元素 Observers:

hash_function 返回 hash 函数 key_eq 返回主键等价性判断谓词 Operations:

find 通过给定主键查找元素 count 返回匹配给定主键的元素的个数 equal_range 返回值匹配给定搜索值的元素组成的范围 Buckets:

bucket_count 返回槽(Bucket)数 max_bucket_count 返回最大槽数 bucket_size 返回槽大小 bucket 返回元素所在槽的序号


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选