のトラックを維持しながらソート配列をフロート:C - I 3つの浮動小数点値のアレイを有するインデックス
float norms[3];
norms[0] = 0.4;
norms[1] = 3.2;
norms[2] = 1.7;
Iは、値のオリジナルインデックスのトラックを維持しながら順序降順でこの配列をソートします配列にあります。すなわち
、対応するインデックス{0, 1, 2}
とアレイnorms[] = {0.4, 3.2, 1.7}
を与え、私は基本的に降順ソート以下norms[]
でfloat
値の元の位置を反映ints
の対応する配列を取得します。この場合は{1, 2, 0}
となります。
これを達成する最も良い方法は何ですか?
インデックスを含む同じサイズのint型の配列を作成します。 float配列をソートするときは、int配列のスワップ操作をミラーリングするだけです。 – jboockmann
構造体をインデックスフィールドとともに使用し、並べ替える前に各要素のインデックスを書き込みます。配列の元の位置が保持されます。 –
元の配列のコピーを作成するだけです。それでおしまい。泥だらけの、成熟前の最適化アルゴリズムは必要ありません。移動... – Lundin