|
139 / 97 / 48
Регистрация: 22.10.2012
Сообщений: 234
|
|
Сортировка итератора13.04.2021, 09:03. Показов 2095. Ответов 10
Метки нет (Все метки)
Подскажите, разве можно сортировать итератор? Его же придется весь распаковать? Как быть с огромными файлами, например? Порционно извлекать из них данные и сортировать частями? Подскажите, в какую сторону смотреть? Спасибо!
0
|
|
| 13.04.2021, 09:03 | |
|
Ответы с готовыми решениями:
10
Map, как получить значение итератора
|
|
102 / 85 / 25
Регистрация: 21.05.2019
Сообщений: 481
|
|
| 13.04.2021, 09:18 | |
|
А гуглом что мешает пользоваться? Функция sorted() не подходит?
0
|
|
|
139 / 97 / 48
Регистрация: 22.10.2012
Сообщений: 234
|
|
| 13.04.2021, 09:30 [ТС] | |
|
RSAX, посмотри, пожалуйста, в гугле, что возращает sorted(). Либо в консоли почитай help(sorted). Удивишься) Помещать в список несколько гигабайт строк - печаль, у меня нет столько ОЗУ.
0
|
|
|
|
|
| 13.04.2021, 10:11 | |
|
GorodetskiyKP, ну в общем да, без преобразования в list - никак. Чудес не бывает.
С огромными файлами - по обстоятельствам. Может, "в лоб", и да Если всё плохо и это не подходит - искать в ваших файлах структуру и запихивать в СУБД. Но это способ хорош, если ваши файлы регулярно меняются и надо выцеплять данные в каких-то определённых позициях.
1
|
|
|
102 / 85 / 25
Регистрация: 21.05.2019
Сообщений: 481
|
|
| 13.04.2021, 10:13 | |
|
GorodetskiyKP, То что он возвращает список да почитал "Return a new list containing all items from the iterable in ascending order." Но как ещё ты хочешь отсортировать список не открывая его. Вопрос то был можно ли отсортировать итератор, да можно, да придётся открывать
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
||
| 13.04.2021, 10:13 | ||
|
1
|
||
|
102 / 85 / 25
Регистрация: 21.05.2019
Сообщений: 481
|
|
| 13.04.2021, 10:17 | |
|
Arsegg, разве tim-sort не самый оптимальный алгоритм? Всё таки там тот же самый merge только ещё с insertion
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
||||
| 13.04.2021, 10:31 | ||||
merge. Берешь порцию данных (что помещается в оперативке), сортируешь (чем угодно), пишешь в файл. И так для каждой порции данных. Затем эти файлы мерджишь. Profit!Добавлено через 38 секунд Добавлено через 3 минуты qsort, скорее всего будет пошустрее. Тут стабильность сортировки не требуется, т. к. перестановка одинаковых строковых значений не будет иметь влияния на результат.
0
|
||||
|
102 / 85 / 25
Регистрация: 21.05.2019
Сообщений: 481
|
|
| 13.04.2021, 10:40 | |
|
Arsegg, Если полностью не сортированный тогда да, но timsort как я помню сначала ищет уже отсортированный части, но если список полностью не сортирован то merge получше
0
|
|
|
139 / 97 / 48
Регистрация: 22.10.2012
Сообщений: 234
|
||
| 13.04.2021, 10:48 [ТС] | ||
|
Arsegg,
0
|
||
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 13.04.2021, 11:43 | |
|
GorodetskiyKP, кури: https://stackoverflow.com/a/42398981.
0
|
|
| 13.04.2021, 11:43 | |
|
Помогаю со студенческими работами здесь
11
Реализовать класс итератора Перебрать список с помошью итератора Сортировка массива каждым из 3 способов (пузырьковая сортировка, сортировка выбором, сортировка вставкой) сравнение итератора вектора и итератора map Тело метода не может быть блоком итератора, так как "void" не является типом интерфейса итератора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|