【发布时间】:2009-03-16 22:12:20
【问题描述】:
我想知道以与不同数组相同的顺序对对象数组进行排序的最快方法是什么。
这是一个 C# 示例:
class MyClass
{
public MyClass(int value)
{
this.value = value;
}
int value;
public int Value
{
get { return value; }
set { this.value = value; }
}
}
static List<int> sortedValuesList;
static List<MyClass> objectList;
以与 sortedValuesList 相同的顺序对 objectList 进行排序的最快方法是什么? 可能有多个具有相同值的对象。
我已经有简单的算法可以做到,但它是 O(n^2) 并且需要额外的内存。
编辑: 我想目前还不清楚我要做什么。 假设用户在屏幕上看到销售人员的数据网格。他可以按他想要的任何列对它们进行排序。现在用户点击一个按钮,就会显示一个客户表。每个客户都会引用其中一位销售人员。我想根据之前数据网格中销售人员的顺序对客户列表进行排序。
这只是一个理论问题,因为我不需要更高的性能。我只是想知道当您需要使用查找表来比较对象时是否有一些不错的排序算法。
【问题讨论】: