2011-06-20 12 views
-1

std::vector<float*> _dataのソートプログラムのヘルプが必要です。 ソート基準は、_dataのインデックスi1、i2、i3 ...で昇順に選択できます。 i1は float *i1_data = _data[i1];qsort on std :: vector <float*> _data

どのようにすればいいですか?

+0

あなたの質問は何も分かりません。 –

+1

あなたの質問を解読しようとしています。 'i1_data'を' iN_data'に呼び出し、 'float *'ポインタを使って参照している一連のN個のfloat配列があります。それらがすべて同じ長さであると仮定しましょう。したがって、実際には行列です。何らかの理由で、 'i1_data'に整数インデックスを格納することを選択し、' i1_data'で与えられた順序に従って他の配列をすべてソートしたいとします。私は閉じますか? (ちなみに、この推測を避けるために、質問をより慎重に指定しておけば助かります) – Tom

答えて

2

あなたはブーストマルチインデックスをしたい、またはそれにすべてのデータメンバを持つstructの単一vectorいずれかのようにではなく、単一で複数のベクトルから、聞こえる比較ファンクタ

struct float_cmp{ 
    bool operator()(float *f1, float *f2){ 
     return (*f1) < (*f2); 
    } 
} 

std::sort(myvec.begin(), myvec.end(), float_cmp); 
+0

これはうまくいきません.i1_dataをソートすると、他のi2_data、i3_data、およびiN_dataが必要ですi1_dataのインデックスに従ってスワップされます。 –

+1

私はあなたが何をしようとしているのかよく分かりません。あなたが達成しようとしていることを詳しく教えてください。 – GWW

0

を書くことができますデータ型

関連する問題