我有3个浮点值的数组:Ç - 排序浮阵列,同时在跟踪指数的
float norms[3];
norms[0] = 0.4;
norms[1] = 3.2;
norms[2] = 1.7;
我想排序这个数组按降序排列同时保持值的原始指标的轨道在阵列。
换句话说,给定阵列norms[] = {0.4, 3.2, 1.7}
与相应索引{0, 1, 2}
,我基本上要获得对应ints
反映在norms[]
以下降序排序的float
值的原始位置的阵列。在这种情况下,它将是{1, 2, 0}
。
什么是最好/最干净的方式来实现这一目标?
创建一个包含索引的相同大小的int类型的数组。排序浮点数组时,只需对int数组中的任何交换操作进行镜像即可。 – jboockmann
使用带有索引字段的结构,在排序之前编写每个元素的索引,并保留数组中的原始位置。 –
只需复制原始数组。而已。不需要混淆思想,过时的优化算法。继续... – Lundin