当前位置:  开发笔记 > 编程语言 > 正文

是否支持基于索引的排序?

如何解决《是否支持基于索引的排序?》经验,为你挑选了1个好方法。

是否有任何内置的C#支持进行索引排序?

更多细节:
我有几组数据存储在单个通用的double列表中.这些列表的长度始终相等,并保存相应的数据项,但这些列表是动态的,所以我不能只是干净地将相应的数据项存储在类或结构中.(我也在处理一些遗留问题.)

我需要能够从任何一个数据集中对这些键控进行排序.

我想到最好的方法是添加一个间接层,并使用基于索引的排序.这种种类已经使用多年了.

基于索引的排序的快速定义:
使"索引",一个与列表长度相同的连续整数数组,然后排序算法对整数列表进行anylist[index[N]]排序,以便按排序顺序给出任何列表的第N项.列表本身永远不会被重新订购.

是否有任何内置的C#支持进行索引排序?我一直无法找到它...我发现的所有内容都重新整理了这个集合.我的猜测是支持存在,但我还没有找到合适的地方.

我在Windows下使用C#.NET 3.5.



1> Guffa..:

设置索引数组后,可以使用自定义Comparison来对其进行排序,该自定义比较数据数组中相应项目中的值:

Array.Sort(index, (a,b) => anylist[a].CompareTo(anylist[b]));


如果你的阵列不具有可比性,那么它只有1行:Comparer comparer = Comparer .Default; Array.Sort (index,(a,b)=> comparer.Compare(array [a],array [b]));
推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有