ソート後の移動先インデックスを求める
配列をソートしたときの移動先インデックスを知りたい場合があります。
D 言語だと topNIndex 関数で知ることが出来ます。
import std; void main() { auto a = [99, 1, 100, 2, 150]; auto id = new int[a.length]; a.topNIndex(id, Yes.sortOutput); foreach (i; 0..a.length) { writefln("a[%d] = %d", id[i], a[id[i]]); } }
実行結果です。
a[1] = 1 a[3] = 2 a[0] = 99 a[2] = 100 a[4] = 150