|
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 38
|
|
Сортировка слиянием из 4 файлов03.11.2022, 15:45. Показов 1182. Ответов 17
Метки нет (Все метки)
Не могли бы подсказать алгоритм, но в лучшем случае код, как из 4 файла отсортировать слиянием в 5 файл. Я знаю что нужно взять первые числа все 4 файлов и потом сравнить между собой и наименьший вписать в 5 файл. А дальше как. Буду благодарен даже псевдокоду.
0
|
|
| 03.11.2022, 15:45 | |
|
Ответы с готовыми решениями:
17
Сортировка слиянием
Сортировка слиянием |
|
800 / 458 / 237
Регистрация: 03.01.2017
Сообщений: 1,339
|
||||||
| 03.11.2022, 16:04 | ||||||
|
Допустим получили массивы из 4х файлов
0
|
||||||
|
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 38
|
|
| 03.11.2022, 18:53 [ТС] | |
|
iLinks, сравниваем первые числа из всех файлов. Тобишь: 89, 12, 50, 54. Меньший это 12. Его и вписываем в 5 файл. Затем указатель смещается на следующее число в том файле где стоял прошлый наименьший элемент. То есть бы берем сл.числа: 89, 99,50,54. Меньший это 50. Его и вписываем в 5 файл. Указатель теперь в 3 файле. След.цифры которые мы будем сравнивать это: 89, 99, 68,54. И так далее. Как видите в алгоритме я разобрался. Буду благодарен если поможите с кодом
0
|
|
|
3260 / 3300 / 556
Регистрация: 17.02.2019
Сообщений: 5,196
|
|
| 03.11.2022, 19:23 | |
|
Nolic12, файлы текстовые, цифры строкой или в столбик?
0
|
|
|
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 38
|
|
| 03.11.2022, 19:28 [ТС] | |
|
iLinks, я в принципе плюс минус подумал как можно сделать. Открываю для каждого файла потоки для чтения. Вписываю в переменную типа int все значения и сразу конвертирую из string в int. И потом нужно с циклами наверное поиграться. Но как? Вот в чем вопрос. Создать один общий цикл в котором будут остольные 4 цикла для прохода по каждым этим переменным. И буду сравнивать и там где найду наименьший поставлю какую нибудь метку. Но до сколько будет ходить общий цикл. Как все сложно. Буду думать всю ночь
Добавлено через 29 секунд January29, цифры в файле строкой
0
|
|
|
3260 / 3300 / 556
Регистрация: 17.02.2019
Сообщений: 5,196
|
|||||||
| 03.11.2022, 21:20 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 38
|
|
| 03.11.2022, 22:06 [ТС] | |
|
January29, не то что нужно. Он ищет наименьший в каждом файле и потом эти наименьшие числа сравнивает между собой и ищет уже между ними самое маленькое. А мне нужно сравнить первые числа из каждого файла и наименьший из них записать в 5 файл. Пример как я бы хотел я подал немного выше. Но спасибо за помощь. Вы немного пролили свет на то в какую сторону мне двигаться
0
|
|
|
3260 / 3300 / 556
Регистрация: 17.02.2019
Сообщений: 5,196
|
|||||||
| 03.11.2022, 22:37 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 38
|
||||||
| 03.11.2022, 22:50 [ТС] | ||||||
|
January29, я думаю что нужно создать какой нибудь внутрений цикл который будет добавлять в массив 1 числа всех файлов. И потом найти минимиальный из них и запомнить номер итерации. Номер итерации и будет нашим указателем. Потом как то по умному во внутренем цикле нужно написать что бы он увеличи итерацию только на том файле, на котором стоит указатель, а остальные не трогать.
Я тут что начирикал до момента когда нашел миниимальный в первых числах, для понимании моих мыслей, ну а дальше я же не знаю. могз кипит.
0
|
||||||
|
3260 / 3300 / 556
Регистрация: 17.02.2019
Сообщений: 5,196
|
|
| 03.11.2022, 23:23 | |
|
Nolic12, а с поста 8 не подходит код
0
|
|
|
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
|
|
| 04.11.2022, 02:50 | |
|
iLinks, сортировка слиянием имеет смысл только если все исходные массивы отсортированы. Применяется в big data sort алгоритмах умеющих сортировать обьемы данных значительно превышающие обьем оперативной памяти.
Добавлено через 11 минут Nolic12, в строке 25 кроме поиска минимального элемента надо знать и сам номер файла которому этот минимальный элемент принадледит, и с него дочитать следующее число. Процедуру повторять пока во всех файлах не закончатся числа. Учти еще что я уже писал выше - сортировка слиянием не имеет смысла если каждый из массивов не отсортирован.
0
|
|
| 04.11.2022, 17:13 | |
|
Не по теме: nicolas2008, а я тут причем?
0
|
|
|
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
|
|
| 04.11.2022, 18:08 | |
|
iLinks, массивы в вашем примере неотсортированы
0
|
|
|
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 38
|
|
| 04.11.2022, 20:07 [ТС] | |
|
nicolas2008, у меня многопутьевое слияние. Я в начале отправляю во все 4 файла отсортированные серии. И потом все это я должен слиять
0
|
|
|
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
|
||||||
| 04.11.2022, 20:35 | ||||||
|
Nolic12, та я понял.
Не уверен что код будет понятнее, но держите, нашел в своих архивах.
0
|
||||||
| 06.11.2022, 23:38 | |
|
Не по теме: nicolas2008, Catstail, ещё раз, я тут причем? Или вы думаете, что я не знаю что такое сортировка слиянием? ТС не привел пример, я уточнил, т.к. тут много тем, где ТС сам не знает чего хочет.
0
|
|
| 06.11.2022, 23:38 | |
|
Помогаю со студенческими работами здесь
18
Сортировка слиянием
Сортировка слиянием
Нужна сортировка слиянием Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|