У меня есть список числовых кортежей, и я хочу отсортировать его по Item1 с вложенными циклами.Я знаю, что могу просто сделать List.Sort ();но я хочу сделать это и для циклов For, чтобы я мог сравнить производительность.Я ценю любую помощь.
List<Tuple<double, int, int>> FHM = new List<Tuple<double, int, int>>();
FHM.Add(Tuple.Create(2500.00, 1, 5));
FHM.Add(Tuple.Create(2400.00, 2, 300));
FHM.Add(Tuple.Create(2300.00, 4, 10));
FHM.Add(Tuple.Create(2600.00, 1, 325));
Я попытался реализовать приведенный ниже код, работающий нормально, сортируя список двойников с вложенными циклами for, но я не могу перекодировать его для кортежей ...
List<double> FH = new List<double>() { 2510, 2509, 2501.5, 2501.75 };
var S1 = Stopwatch.StartNew();
double temp;
for (int i = 0; i < FH.Count; i++)
{
for (int n = 0; n < i; n++)
{
if (FH[n] > FH[i])
{
temp = FH[i];
FH[i] = FH[n];
FH[n] = temp;
}
}
}
S1.Stop();
Console.WriteLine($"S1 Ticks = " + S1.ElapsedTicks);
/ * ElapsedTicks с ForLoop 4000. Принимая во внимание FH.Sort ();16000. Поэтому я ожидаю, что версия ForLoop с Tuples будет работать лучше для коротких списков, над которыми я работаю.* /