class HashTable:
    key # サイズNの表

    h1(k):
        return k mod N    # key をNで割った余り

    h2(k):
        return 1 + (k mod (N-1))

    # ハッシュ関数
    hash(k, i):
        return (h1(k) + i*h2(k)) mod N

    # キーkを挿入する
    insert(k):
        i ← 0 # 衝突回数
        while True:
            pos ← hash(k, i)
            if key[pos]が空いている:
                key[pos] ← k
                return pos # 場所を返して終了 
            else:
                i++        # 空いていない場合は衝突回数を加算して再試行