Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 23
.NET 4.x

Сортировка ДВУМЕРНОГО List<List<T>>

30.11.2014, 00:42. Показов 3350. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день или вечер.
В написании одной программулины у меня возникли проблемы с сортировкой List-а двумерного. Гугл не помогает...

К примеру у меня есть лист:

C#
1
List<List<string>> Data = new List<List<string>>();
который содержит данные:

21 2 0.3
33 3 0.01
10 1 0.5

Мне необходимо отсортировать по третьему столбцу такой лист, со сдвигом всей строки.
Буду благодарен=)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.11.2014, 00:42
Ответы с готовыми решениями:

Сортировка двумерного List<List<string>>, по 1-ой строке, чтобы элементы 2-ой строки передвинулись в соответствии с 1-ой
Дан двумерный массив List&lt;List&lt;string&gt;&gt; , состоящий из двух строк, как его отсортировать по первой строке, чтобы элементы второй строки...

Сортировка двумерного List
сортировка одномерного List происходит с помощью метода Sort(). есть ли возможность сортировки двумерного List по определенному к примеру...

Сортировка строк двумерного list
Нужна сортировка строк двумерного list List&lt;List&lt;string&gt;&gt; tbl = new List&lt;List&lt;string&gt;&gt;(); При равенстве элементов строк в 1-ом...

4
What? Where? Why?
106 / 106 / 32
Регистрация: 16.10.2012
Сообщений: 459
30.11.2014, 01:30
Можно применять любые известные методы сортировки. Например, просматривать во всех листах элементы третьего столбца и искать минимальный среди них. После того, как нашли, строку с минимальным элементом в третьем столбце ставить на первое место.
1
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
30.11.2014, 01:57
В чём проблема? Напиши свой метод сортировки, напиши свой компаратор -- всё, полетел xD
1
 Аватар для Lexeq
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
30.11.2014, 02:15
Лучший ответ Сообщение было отмечено SpiriuS как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
    class DataComparer : IComparer<List<double>>
    {
        public int Compare(List<double> x, List<double> y)
        {
            return x[2].CompareTo(y[2]);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            List<List<double>> Data = new List<List<double>>();
            Data.Add(new List<double> { 21, 2, 0.3 });
            Data.Add(new List<double> { 33, 3, 0.01 });
            Data.Add(new List<double> { 10, 1, 0.5 });
            foreach (var el1 in Data)
            {
                foreach (var el2 in el1)
                {
                    Console.Write(el2 + " ");
                }
                Console.WriteLine();
            }
            Console.WriteLine("Sorted:");
            Data.Sort(new DataComparer());
            foreach (var el1 in Data)
            {
                foreach (var el2 in el1)
                {
                    Console.Write(el2 + " ");
                }
                Console.WriteLine();
            }
            Console.ReadKey();
        }
1
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 23
30.11.2014, 10:30  [ТС]
Всем спасибо за ваши ответы и подсказки.
Я рассматривал вариант, который предложил Exception, но я хотел реализовать с помощью стандартных методов, но я не мог понять, как реализовать класс компаратора для N мерных листов. Lexeq показал пример, ему отдельное спасибо=)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.11.2014, 10:30
Помогаю со студенческими работами здесь

Устойчивая сортировка строк двумерного list по возрастанию первого столбца
Нужна устойчивая сортировка строк двумерного list по возрастанию первого столбца List&lt;List&lt;int&gt;&gt; tbl = new...

Конвертировать один элемент из List<List<Class>> в list и string
Как можно перевести один выбранный элемент из List&lt;List&lt;Data&gt;&gt; myList в list и string? Например, myList. Сейчас я могу с помощью...

Linq преобразование List<List<double>> в List<Array>
Доброго времени суток, данный код нужно преобразовать linq выражениями и дописать выборку из List&lt;List&lt;double&gt;&gt;. Таким...

Сортировка List внутри List
Доброго времени суток! Имеется структура вида: public class Node { public string Name { get; set; } public...

Сортировка List<List<string>>
Как отсортировать список списков по количеству элементов в элементах :D или в удобоваримом для восприятия виде(&quot;метакод&quot;)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru