Сортировка списка List

Рейтинг: 1Ответов: 1Опубликовано: 15.09.2014

Имеется список List, содержащий около 50000 значений.

Нужно отсортировать этот список таким образом, чтобы наиболее часто встречающиеся элементы были, так сказать, на поверхности. В результате должно получиться что-то вроде гистограммы.

Как найти алгоритм сортировки?

Ответы

▲ 5

Попробуйте так:

var lst = new List<int> { 6, 5, 7, 5, 8, 6, 7, 5, 6, 5 };
var lst2 = lst.GroupBy(x => x).ToDictionary(x => x.Key, x => x.Count());

lst = lst.OrderByDescending(x => lst2[x]).ThenBy(x => x).ToList();