unordered_map
unordered_map类常用来新建哈希表实例,需要引入头文件#include<unordered_map>
常用方法如下:
begin() 返回指向容器中第一个键值对的正向迭代器。
end() 返回指向容器中最后一个键值对之后位置的正向迭代器。
empty() 若容器为空,则返回 true;否则 false。
size() 返回当前容器中存有键值对的个数。
find(key) 查找以 key 为键的键值对,如果找到,则返回一个指向该键值对的正向迭代器;反之,则返回一个指向容器中最后一个键值对之后位置的迭代器(常用if(hashmap.find(key)==hashmap.end())进行判断)。
count(key) 在容器中查找以 key 键的键值对的个数,不存在则返回false,当需要判断一个哈希表中有某个key时,常用count函数。
//使用count方法判断哈希表中有无某个key
if (need.count(s[right])) {
window[s[right]]++;
}
//直接判断判断哈希表中有无某个key
//若哈希表中没有该key,会自动将该key添加进哈希表中,可能会造成错误
if (need[s[right]]) {
window[s[right]]++;
}
insert() 向容器中添加新键值对。
erase() 删除指定键值对。
clear() 清空容器,即删除容器中存储的所有键值对。
string
+=,append(),push_back() //在尾部添加字符
insert() //插入字符
erase() //删除字符
clear() //删除全部字符
replace() //替换字符
- //串联字符串
==,!=,<,<=,>,>=,compare() //比较字符串
size(),length() //返回字符数量
empty() //判断字符串是否为空
substr() //返回某个子字符串
s.substr(strStart,minLength)//第一个参数是子字符串开始的位置,第二个参数是子字符串长度
求绝对值
#include<stdlib.h>内,有abs()函数,可以对整型变量求绝对值。
#include<math.h>内,有fabs()函数,可以对浮点型变量求绝对值。