|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.05.2019, 21:56 | #11 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,759
|
Я же давал ссылку...
1. Да, параметры функции-компаратора. 2. Ну вы же сортируете вектор векторов. Логично, что каждый элемент вашего вектора, в том числе и переданные через параметры a,b - вектор. |
30.05.2019, 22:38 | #12 |
Форумчанин
Регистрация: 26.08.2010
Сообщений: 121
|
Но, а.front() и b.front() - первый элемент какого вектора ?
|
30.05.2019, 23:02 | #13 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Чтобы сортировать список, нужно уметь сравнивать его элементы.
Для этого в функцию сортировки передаётся функция-компаратор. Каждый раз, когда нужно сравнить два элемента, будет вызываться функция-компаратор. Для этих двух элементов. Они и будут параметрами. То есть, в нашем случае a и b. |
30.05.2019, 23:14 | #14 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,759
|
Еще раз:
1. У вас вектор векторов vector<vector<string>>massiv; 2. Каждый элемент этого вектора вектор. Т.е. первый элеммент vector<string>, второй элемент vector<string>, третий - vector<string>, .... 3. Компаратор сравнивает два элемента. Т.е. получает два vector<string> и сравнивает. |
30.05.2019, 23:39 | #15 |
Форумчанин
Регистрация: 26.08.2010
Сообщений: 121
|
Получается, что сравнивается два каждых соседних элемента вектора вектора, но по факту сортируется только, как бы первый столбец массива.
|
31.05.2019, 06:14 | #16 | |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Цитата:
Нет. Сравнивается только первый, а сортируется весь. |
|
31.05.2019, 08:04 | #17 |
Форумчанин
Регистрация: 26.08.2010
Сообщений: 121
|
Понимаю, что уже надоел, но вот еще раз позвольте пожалуйста:
Есть функция sort, она принимает на вход пераметры: -грубо говоря адресс начало вектора и адресс конца вектора +1 -далее на вход принимается некая назывемая анонимная функция, которая на вход так принимает два параметра а и b (почему auto, почему я сам не могу указать тип я так и не понял) и вот потом эти два параметра сравниваются, но я не могу понять, что за параметры сравниваются, так как я не понимаю, какие параметры и в какой части кода передались в эту анонимную функцию. |
31.05.2019, 08:46 | #18 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,759
|
Можете. ауто придумали для того, чтобы вы как раз и не писали std::vector<std::ccc<std::list<std: :string>...> да еще для всех параметров + вам бы не пришлось для небольшого различия в типах параметров копи-пастить тело функции.
Цитата:
Вот, когда алгоритму надо сравнить два элемента из вашего вектора, он и вызываете компаратор и передает элементы, которые хочет сравнить. |
|
04.06.2019, 14:17 | #19 |
Форумчанин
Регистрация: 26.08.2010
Сообщений: 121
|
Про пузырек только слышал.
То, что алгоритм сортировки передает элементы для сравнения в функцию я понимаю, я не понимаю, какие элементы передаются. Ну то есть к примеру имеется тот же самый вектор условно состоящий из трех столбцов, какие элемен ы этого вектора перелаются в это условие : Код:
То есть по этому условию сортируется тольуо первый столбец, остальные элементы 2 и 3 столбца сохраняют свое положение в рамках сортировки. Что если я хочу чделать сортировку не по первому столбцу, а по второму или сразу по обоим, какие элементы нужно передать в функцию и сравнить ? Последний раз редактировалось Android1; 04.06.2019 в 14:24. |
04.06.2019, 14:21 | #20 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,759
|
Отлично. Открываем пузырек: https://ru.wikipedia.org/wiki/%D0%A1...BA%D0%BE%D0%BC
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Быстрая сортировка(сортировка Хоара). Сортировка фрагмента массива [C++] | druger | Помощь студентам | 0 | 20.04.2012 15:49 |
Сортировка Шелла и Шейкер-сортировка | AleksandrMakarov | Паскаль, Turbo Pascal, PascalABC.NET | 11 | 11.03.2012 12:18 |
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. | lenny_24 | Помощь студентам | 2 | 17.04.2011 18:57 |
паскаль,одномерный массив,сортировка вставка,сортировка убывания,от максимального до конца | немозг | Помощь студентам | 11 | 06.02.2010 21:57 |
Сортировка файлов в Explorer vs сортировка в Delphi | mutabor | Общие вопросы Delphi | 11 | 04.09.2009 14:32 |