私は C++ プログラミングの世界に非常に慣れていないため、素人っぽい質問で申し訳ありません。
メイン メモリ (1 次元配列) に格納されたデータの大きなブロックを取得し、そこにあるデータの一部に頻繁にアクセスする必要があります。これを行う方法は次のとおりです。
float *x=new float[20];//array to store x;
int *indlistforx=new int[20];//array to store the index of x;
float *databank=new float[100000000];//a huge array to store data
/... fill data to databank.../
for (int i=0;i<N;i++)//where N is a very large number;
{
/... write index to indlistforx.../
getdatafromdatabank(x, indlistforx, databank);
//Based on the index provided by indlistforx, read data from databank then pass them to x
/...do something with x.../
};
これらのデータにアクセスするための効率的で高速な方法はありますか (x のインデックスは整列されておらず、整列することは不可能です)。
よろしくお願いします!