起因是居然发现之前没写过这类的文章但是已经遇到不知道说少遍了....
1.哈希表(map):
类似函数一个x对应一个y,map是一个键对应一个值
会按照键的顺序从小到大排序,相反,unordered_map就是不会排序
map<a,b,c>a指的是a(key)键,即为类型;b(value),即为值;c(Mapping),即为映射关系
至于用法和vector差不多,不懂的去查。
注意,在需要用到哈希表内结构体比较时,需要定义一个比较函数:例如
struct name
{
vector<int> n;
/*对n进行赋值之后*/
bool operator==(const triangle& a)
const
{
return n=a.n;
}
};
还有把结构体对象映射成值:例如
size_t/*这是大小或者索引*/ operator()(const name& a)const
{
return /*这里面是你要的值*/;
}
这样就可以在比较map里面的结构体了.
2.accumulate
求和,没什么好说的<a,b,c>a为开头,b为结尾,c为初始值.