|
0 / 0 / 0
Регистрация: 20.03.2024
Сообщений: 2
|
||||||
Естественная сортировка на 4 файлах20.03.2024, 11:21. Показов 1651. Ответов 12
Метки Сортировки (Все метки)
Пишу естественную сортировку на 4 файлах, задание по программированию. Сортировка работает отлично примерно до 40 элементов, после слияние в файлы fc и fd не происходит до своего логического завершения, сам не понимаю почему так происходит, дайте какие-нибудь советы что сделать чтобы убрать эту проблему
0
|
||||||
| 20.03.2024, 11:21 | |
|
Ответы с готовыми решениями:
12
Естественная сортировка Естественная сортировка слияния Двухфазная естественная сортировка |
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 20.03.2024, 11:56 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 20.03.2024
Сообщений: 2
|
|
| 20.03.2024, 13:01 [ТС] | |
|
если в общем, то у нас есть изначальный файл с последовательностью элементов, нас нужно его отсортировать. На первом шаге сортировки мы разбиваем изначальный файл на два вспомогательных записываю туда по одной упорядоченной по возрастанию подпоследовательностей, меняя при этом файл в который мы записываем, потом мы сливаем два наших вспомогательных файла в два других(три и четыре), записывая в 3 новую упорядоченную подпоследовательность состоящую из 1-ых подпоследовательностей 1-ого и 2-ого файлов, потом новую упорядоченную подпоследовательность состоящую из 2-ых подпоследовательностей 1-ого и 2-ого файлов и т.д. Повторяем второй шаг пока один из четных файлов не окажется пустым, что будет означать что нечетный файл состоящий в паре с нашим четным который пустой, будет отсортированная последовательность
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 20.03.2024, 15:42 | |
|
0
|
|
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
|
| 20.03.2024, 21:48 | |
|
Поясню. Естественной сортировкой называют такую сортировку, время исполнения которой снижается с возрастанием упорядоченности массива.
То есть, чем больше исходный массив частично упорядочен, тем быстрее будет сортировка. Типичным примером "естественной сортировки" является сортировка слиянием. В задании её предлагается сделать с помощью файлов вместо массивов, видимо.
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 21.03.2024, 13:07 | ||
![]() Пускай выдумывают всё новые и новые псевдо понятия и всё новые и новые методы извращений.
1
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 21.03.2024, 15:21 | |||
|
Добавлено через 7 минут
0
|
|||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 21.03.2024, 22:45 | |
|
0
|
|
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
||
| 22.03.2024, 00:18 | ||
|
Честно говоря ковыряться с этим ОООООЧЕНЬ лениво. Навскидку: Это найти количество записей в файле, видимо путём чтения его целиком, если его длина меньше трех, то compare-and-swap и записать обратно в файл. Если больше, то найти середину делением счетчика пополам, заново считать файл до середины и поместить в один файл, а потом от середины до конца в другой файл. Применить, судя по тексту, рекурсивно функцию сортировки к каждому из этих файлов, слить два файла в исходный, удалить два файла. Это уже на курсовую тянет. Или на целый спринт работы.
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||||||||||||||||||||||||||
| 22.03.2024, 04:28 | ||||||||||||||||||||||||||||
|
Только реализация у ТС страшная. Добавлено через 1 минуту Разница из материала по ссылке лишь в том, что не используем промежуточный файл. Добавлено через 4 минуты Можно обойтись и без признака конца упорядоченной последовательности, но тогда за этим нужно следить. Добавлено через 27 минут
Дальше точно аналогично, только выборка не с одного файла а с двух. Добавлено через 3 часа 17 минут
1
|
||||||||||||||||||||||||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 24.03.2024, 19:18 | |
|
Немного неприятно когда ТС так закидывает тему.
Неужто они настолько обидчивые ? По сабжу хочу добавить. Маловероятно что такой код как у ТС в "шапке" будет в серьез кто то править, искать ошибку в нем. Весь код, сплошная ошибка. Как в подходе, так и в иисполнении. Хотя работа автора таки чувствуется. Хочу ещё добавить описание причины по которой я добавил свой класс для контроля чтения упорядоченных последовательностей. Один такой небольшой класс, избавил меня от множества неприятных ситуаций.
0
|
|
| 24.03.2024, 19:18 | |
|
Помогаю со студенческими работами здесь
13
Естественная сортировка по алфавиту в DataGridView Естественная сортировка слиянием с 3 вспомогательными файлами Двухфазная естественная сортировка с 3-мя вспомогательными файлами
Сортировка в файлах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|