我有一个可以具有相同值的 float 列表
List<float> l = new List<float>{1, 2, 6, 4, 2, 0};
我想得到索引序列来对列表进行排序,其中最小数字的索引在前,最大数字的索引在最后。对于上面的例子,结果是 {5, 0, 1, 4, 3, 2}
。对于相同值的数字,顺序无关紧要。有什么办法吗?谢谢。
最佳答案
将元素与其索引配对,对元素进行排序,然后收获索引,如下所示:
var res = l.Select((v, i) => new {v, i})
.OrderBy(p => p.v)
.Select(p => p.i)
.ToList();
关于c# - 如何找到索引序列来对列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37372379/