bsearch
動機:(二分探索)を使用して、121ビットの非負の整数のソートされたリストをすばやく検索したいと思います(先行ゼロがある場合もありますが、すべて正確に121ビットです)。これらの整数は大きすぎて個々のsとして格納できないなどの理由で、 (GMPint
を使用して)作成することを計画しています。mpz_t
マニュアルを見ると、GMPにはbsearch
同等のものがありません(ただし、間違っている場合は修正してください)。これにより、次のようになります。
質問:
memcmp
同じ数のビットが格納されている2つの非負の整数を比較するために、またはそれに類似したものを使用できますmpz_t
か?もしそうなら、正しい構文は何ですか?
これが可能であれば、検索は非常に効率的です。
また、(a)C ++での高速検索を可能にするこれらの121ビット整数を格納するためのデータ構造、(b)を使用しない整数を検索するための方法に関する代替案も受け入れていますmemcmp
。