動機:我想用bsearch
(二進制搜索)以快速通過的121位非負整數排序列表(它們都具有完全相同121位,雖然他們可能有前導零)進行搜索。這些整數是太大,存儲爲單個int
S,等等,所以我打算讓他們mpz_t
(使用GMP)。尋求GMP二分搜索:如何使用memcmp比較兩個GMP mpz_t?
通過人工看,GMP沒有bsearch
當量(雖然,糾正我,如果我錯了),這使我:
問題:我們可以使用
memcmp
什麼類似於比較存儲爲mpz_t
的具有相同比特數的兩個非負整數?如果是這樣,那麼正確的語法是什麼?
如果這是可能的,搜索應該是相當有效的。 (a)用於存儲這些允許在C++中快速搜索的121位整數的數據結構,(b)用於搜索不使用的整數的方法memcmp
。
爲什麼GMP需要一個'bsearch()'等價物?在我看來,標準的'bsearch()'可以與適當的基於GMP的比較函數一起使用,不是嗎? –
嗯......好點。確實可以。 –