効率的に保存して検索する必要があるデータがあります。できればCを使用してください。データファイルの各行は次の形式です。
key1 key2 key3 data
ここkey1
でkey2
、、、key3
は整数でdata
、の配列ですfloat
。
key1,2,3 を文字列に変換してから、C++std::map
を使用して文字列を float ポインターにマップすることを考えています。
std::map<string, float*>
それを行うより良い方法はありますか?
注: 整数キー 1、2、3 の範囲は 0 ~ 4000 ですが、データは非常にまばらです。つまり、key1 のすべての値を調べると、0 ~ 4000 の範囲内で 100 個未満の一意の int が見つかります。