Мне было интересно, что будет самым быстрым способом сортировки массива объектов в том же порядке, что и другой массив.
Вот пример на 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;
Какой самый быстрый способ сортировки objectList в том же порядке, что и sortedValuesList?
Может быть несколько объектов с одинаковым значением.
У меня уже есть простой алгоритм, который может это сделать, но он O (n ^ 2) и требует дополнительной памяти.
EDIT:
Думаю, не ясно, что я пытаюсь сделать.
Допустим, пользователь видит на экране сетку данных продавцов. Он может отсортировать их по любому столбцу, который он хочет. Теперь пользователь нажимает на кнопку, и отображается таблица клиентов. Каждый покупатель ссылается на одного из продавцов. Я хочу отсортировать список клиентов на основе порядка продавцов в предыдущей сетке данных.
Это только теоретический вопрос, так как мне не нужно больше производительности. Мне просто интересно, есть ли какой-нибудь хороший алгоритм сортировки, когда вам нужно использовать справочную таблицу для сравнения объектов.