Я работаю с упорядоченным словарем (как это структура данных, которая дает мне функциональность для доступа к элементам с помощью как ключом и индекса.)C# Сортировка упорядоченного словаря
Я пытаюсь сортировать его с помощью пузырьковой сортировки,
(особенно потому, что некоторые унаследованного кода, который будет вызывать этот имеет компаратор определен только один метод, как один элемент меньше другого элемента. ILzObjectComparator_Less (ByVal Первый As Object, _ ByVal Второй As Object) As Boolean) )
Хотя мой код работает, т. Е. Сортирует по значению, он меняет сопоставления значений ключа.
Вот мой метод -.
public void SortUsingComparer(LzCollections.ILzObjectComparator Comparator)
{
for (int j = 0; j < od.Count; j++)
{
for (int i = 0; i < od.Count - 1; i++)
{
if(Comparator.Less(od[i+1],od[i]))
{
temp = od[i + 1];
od[i + 1] = od[i];
od[i] = temp;
}
}
}
}
Существует один similar question, но используется OrderBy, который я не могу сопоставить с ILzObjectComparator, который использует наш унаследованный код) Любая помощь будет высоко оценен.
Рассматривали ли вы использование встроенной поддержки .NET для сортировки с использованием собственного [компаратора] (https://msdn.microsoft.com/en-us/library/w56d4y5z (v = vs.110) .aspx)? –
Вы решили проблему? – TaW