|
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
|
|||||||||||
Реализовать многопоточную сортировку динамического массива целых чисел01.11.2016, 21:52. Показов 3805. Ответов 48
Метки нет (Все метки)
Есть задание:
Написать программу, которая выполняет сортировку динамического массива целых чисел, количество элементов которого задает пользователь после соответствующего запроса. Реализовать однопоточную и многопоточную сортировку массива. Отсортированный массив записать в файл. Все, что нужно реализовать для однопоточности - я сделал. Для однопоточной сортировки я реализовал быструю сортировку. А вот с многопоточной сортировкой беда (в данном случаи, я выбрал сортировку Шелла с применением последовательности Седжвика). Никак не получается. Подскажите, пожалуйста, правильный алгоритм многопоточной сортировки массива или же наведите пример. Ссылки на материалы, туториалы также приветствуются. Свой код прилагаю: Файл ArraySorting.h
0
|
|||||||||||
| 01.11.2016, 21:52 | |
|
Ответы с готовыми решениями:
48
Реализовать сортировку двумерного динамического массива
Как организовать сортировку динамического массива |
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
|
| 03.11.2016, 22:50 | |
|
0
|
|
|
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
|
||||||
| 03.11.2016, 23:05 [ТС] | ||||||
|
nd2, вот здесь:
0
|
||||||
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|||
| 03.11.2016, 23:22 | |||
Типа: "В C++ нет потоков, в C++ потоки имитирует std::thread", или скажем "В C++ нет работы с файлами, в C++ подобное имитирует std::iofstream", "В C++ нет сортировки, её имитирует std::sort".Так что-ли?
1
|
|||
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
|
| 03.11.2016, 23:44 | |
|
0
|
|
|
Неэпический
|
|||
| 03.11.2016, 23:48 | |||
|
но данный функционал предоставляет стандартная библиотека. так что, начиная с C++11 можно сказать, что многопоточность в C++ есть, а вот расширяющихся массивов как не было, так и нет.
0
|
|||
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
|
| 03.11.2016, 23:51 | |
|
0
|
|
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
||
| 04.11.2016, 00:22 | ||
|
А то иначе возможны интересные утверждения уровня "В С++ нет списков инициализации, их имитирует std::initializer_list" или "В C++ нет RTTI, его имитирует содержимое хедера typeinfo"
0
|
||
|
Неэпический
|
||
| 04.11.2016, 00:29 | ||
|
А иначе получается, что в главе Arrays должны описываться массивы и std::array. Всё-таки вектор не массив, вектор - контейнер, реализующий функционал динамического массива (как структуры данных), к тому же вектор опять не массив - он шаблон класса.
1
|
||
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|||
| 04.11.2016, 00:39 | |||
![]()
0
|
|||
|
Неэпический
|
|||||||||
| 04.11.2016, 00:50 | |||||||||
|
В языке есть конкретный тип данных - массив. В языке нет типа данных - двусвязный список. Имеются классы. Есть шаблоны классов. В стандартной библиотеке есть конкретный шаблон класса, который реализует список. Но std::list != тип данный список. типов больше быть не может. Если где-нибудь в шаблоне забыть о том, что массив != класс != указатель, то можно отхватить по башке. Класс != массив, какую бы структуру данных он там не реализовывал.
GbaLog- писал о массиве как о типе языка, вы же сюда каким-то боком структуры данных приплели. Предлагаю закончить.
0
|
|||||||||
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|||
| 04.11.2016, 01:07 | |||
|
0
|
|||
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
|||||||||||||
| 04.11.2016, 05:01 | |||||||||||||
myArray.arrayCopys(); нужно инициализировать два массива, которые будешь в потоках сортировать:
shellSorting() непонятно что творится. После такой сортировки - в массивах мусор.Добавлено через 5 минут И не забудь, что размер исходного массива должен делиться на два без остатка.
1
|
|||||||||||||
|
Любитель чаепитий
|
|||||
| 04.11.2016, 12:54 | |||||
Я немного покопался и думаю, что это всего-лишь обёртка над std::FILE. Не стоит разводить холивар и на эту тему, я скажу, в С++ есть работа с файлами и она предоставляется STL. Это алгоритм. Об моём видении динамических массивов в С++ Вам уже Croessmah всё сказал. А вообще, если навскидку подумать, то динамическим массивом называть можно то, что отхапывает себе доп. память сразу за последним элементом, а не то, что выделяет новый блок и туда все старые элементы переносит. Ну или, в самом страшном случае, если места нет, то отхапывает в другом месте и в последний элемент старого впечатывает указатель на новый, гораздо эффективнее, чем всё переносить.
0
|
|||||
|
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
|
||||||||||||
| 04.11.2016, 21:57 [ТС] | ||||||||||||
|
nd2, все (надеюсь, что все) замечания исправил/подправил.
Файл ArraySorting.h
0
|
||||||||||||
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
|||
| 04.11.2016, 22:56 | |||
|
Добавлено через 4 минуты
0
|
|||
|
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
|
|
| 04.11.2016, 23:01 [ТС] | |
|
nd2, исправил. Но проблема осталась.
0
|
|
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
|
| 04.11.2016, 23:02 | |
|
1
|
|
|
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
|
|
| 04.11.2016, 23:02 [ТС] | |
|
0
|
|
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,430
|
|
| 04.11.2016, 23:02 | |
|
0
|
|
|
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
|
|
| 04.11.2016, 23:02 [ТС] | |
|
Понял. Сейчас.
0
|
|
| 04.11.2016, 23:02 | |
|
Реализовать линейный однонаправленный список на базе массива целых чисел
Реализовать сортировку массива структур по заданному полю
Реализовать и протестировать функцию создания двумерного динамического массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть не большие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|