TADM2E 3.15
From Algorithm Wiki
Init:
k=0
Insert X:
k = k+1; A[X] = k; B[k] = X;
Search X:
return (A[X] < k) and (B[A[X]] == X)
Delete X:
A[B[k]] = A[X]; B[A[X]] = B[k]; k = k-1;
Please note that this data structure doesn't support inserting the same X more than once.