【发布时间】:2010-12-18 03:02:31
【问题描述】:
我对排序集合感兴趣,但也返回一个索引,该索引可用于映射到集合中的原始位置(排序之前)。
让我举个例子更清楚:
List<int> A = new List<int>(){3,2,1};
List<int> B;
List<int> idx;
Sort(A,out B,out idx);
之后:
A = [3,2,1]
B = [1,2,3]
idx = [2,1,0]
所以A,B,idx之间的关系是:
A[i] == B[ idx[i] ],对于 i = 0...2
C#/.Net 是否有任何内置机制可以轻松实现?
谢谢。
【问题讨论】:
-
我注意到您要查找的内容称为排列。排序任务本质上可以描述为识别给定数组的所有可能排列中的哪一个产生排序数组的任务。
标签: c# .net sorting collections