集合操作:无序集合与多重无序集合的使用指南
在编程中,集合是一种非常有用的数据结构,它可以帮助我们高效地存储和操作数据。本文将详细介绍无序集合( unordered_set )和多重无序集合( unordered_multiset )的使用方法,包括元素的插入、检索、删除,以及桶列表的生成等操作。
1. 无序集合基础
无序集合中的元素是成对的对象,每个对象由两个字符串表示一个人的名字(名和姓)。由于默认的哈希函数模板 hash<T> 没有针对 pair<string, string> 的特化,因此需要自定义一个函数对象来对元素进行哈希处理。
class Hash_pair
{
public:
size_t operator()(const std::pair<string, string>& pr)
{
return std::hash<string>()(pr.first + pr.second);
}
};
这个函数对象使用 hash<string> 对 pair 对象的两个成员拼接后的字符串进行哈希处理,并返回哈希值。
2. 元素检索
在无序集合中检索元素可以使用 find() 函数,它返回一个迭代器,指向哈希值与参数匹配的元素,如果元素不存在,
超级会员免费看
订阅专栏 解锁全文
435

被折叠的 条评论
为什么被折叠?



