struct HashTable {
typedef ull T;
typedef int S;
static const int N = (
int)1e6 +
7;
static const int M = (
int)1e5 +
7;
int head[N], tot;
struct Node {
T fval;
S sval;
int nex;
} a[M];
void clear() {
memset(head, -
1,
sizeof(head));
tot =
0;
}
void insert(T fval, S sval) {
int p = fval %
N;
a[tot].fval =
fval;
a[tot].sval =
sval;
a[tot].nex =
head[p];
head[p] = tot++
;
}
S find(T fval) {
int p = fval %
N;
for(
int i = head[p]; ~i; i =
a[i].nex) {
if(a[i].fval == fval)
return a[i].sval;
}
return -
1;
}
} Map;
转载于:https://www.cnblogs.com/CJLHY/p/11609701.html
相关资源:JAVA上百实例源码以及开源项目
转载请注明原文地址: https://mac.8miu.com/read-71594.html