As I can sort two lists or two vectors, ie I sort a list (distances) and according to her order as I ordered another list that keeps me indexes. Thanks.
Pd. I\'m working
List<decimal> scores = GetScores();
List<Fruit> fruit = GetFruit();
List<Tuple<decimal, Fruit>> sortedPairs = scores
.Zip(fruit, (s, f) => Tuple.Create(s, f))
.OrderBy(x => x.Item1)
.ToList();
scores = sortedPairs.Select(x => x.Item1).ToList();
fruit = sortedPairs.Select(x => x.Item2).ToList();
Now all you have to do is implement Zip, OrderBy, Select, ToList and Tuple.