如何查找索引序列以对列表进行排序



我有一个可以具有相同值的浮点数列表

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();

演示。

相关内容

  • 没有找到相关文章

最新更新