Loading

手写哈希表

简单版手写哈希表。
封装,更为实用,ky为原始值,val为值,idx对应映射位置。

struct Hash_Table {
	const int SZ = 10000000;
	ull ky[SZ];
	int val[SZ],ne[SZ],h[SZ],idx;
	int &operator [] (ull u) {
		int c = u % SZ;
		for (int i = h[c]; i;i = ne[i])
			if (ky[i] == u) return val[i];
		return ne[++idx] = h[c], h[c] = idx, ky[idx] = u, val[idx] = 0;
	}
}Index;
if (!Index[Hsh]) Index[Hsh] = 1;//使用
posted @ 2021-10-03 21:32  场-room  阅读(72)  评论(0)    收藏  举报