哈希函数: 一般的线性表,树中,记录在结构中的相对位置是随机的,既和记录的关键字之间不存在确定的关系,因此,在结构中查找记录时需进行一系列和关键字的比较。这一类查找方法建立在“比较”的基础上,查找的效率依赖于查找过程中所进行的比较次数。理想的情况下是能直接找到需要的记录,因此必须在记录的存储位置和它的关键字之间建立的对应关系f。使每个关键字的结构中一个唯一的存储位置相对应。 下面从侯捷老师的书中摘取了一部分的关于一个万用的Hash Function 的实现形式: #include<functional> class Customer { ...; }; //CustomerHash 的形式一 class CustomerHash { public: std::size_t operator ()(const Customer &c)const { return ...; } }; unordered_set<Customer, CustomerHash>custset; /* //CustomerHash 的形式二 size_t customer_hash_func(const Customer& c){ return ...; }; unordered_set<Customer,size_t(*)(Customer&)>custset(