12 / 12 / 5
Регистрация: 03.06.2016
Сообщений: 169
1

Слияние массива как лучше

25.01.2018, 14:20. Показов 498. Ответов 8
Метки нет (Все метки)

Здравствуйте.

Допустим есть 2 массива

C++
1
2
char a[]
char b[]
созданные в разные времена, то есть находятся в разных областях.

как лучше делать при их слиянии, и в какие моменты,
1 создать указатели на оба эти массива и уже пользоваться этими указателями.
тогда встает вопрос можно ли передать в метод указатели как один параметр
2 создавать третий массив и копировать оба массива в один.

или третье это не имеет смысла использовать вектора.

Вабще не понятно, обращение к одной большей переменной должно происходить быстрей чем к двум поменьше при поиске, сортировке и тд.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.01.2018, 14:20
Ответы с готовыми решениями:

Как вывести одно значение из массива list? Лучше использовать итератор или как-то по другому?
Здравствуйте! Что бы вывести одно значения из массива list нужно использовать итератор или можно...

Как лучше оформить чтение двумерного массива посимвольно?
void labyrinthRead(int r, int c, int labyrinth) { FILE *fp = fopen("input.txt", "r"); if (r <...

Как лучше присвоить указателю на указатель адрес массива
Во первых, как ЛУЧШЕ присвоить указателю на указатель адрес массива. int num =...

как лучше всего добавлять предопределенные изменяемые значения массива char в интерфейс и реализацию класса?
Есть несколько непонятных мне моментов связанных с тем как использовать char в классе. 2. Как...

8
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
25.01.2018, 15:16 2
MINO, что такое слияние?
0
12 / 12 / 5
Регистрация: 03.06.2016
Сообщений: 169
25.01.2018, 19:31  [ТС] 3
хм слияние это слияние, его по другому не назвать.
два или более объектов объеденные одной концепцией.
0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
25.01.2018, 19:37 4
MINO, концепция та ещё обжора. Пример нормальный приведите. Мб это конкатенация?
0
12 / 12 / 5
Регистрация: 03.06.2016
Сообщений: 169
26.01.2018, 11:34  [ТС] 5
Дак я про это и спрашиваю как лучше сделать, как же делают это гуру, склеить два массива и получить один массив и работать уже с ним и в каких случаях, или сделать ссылку на эти массивы и работать с ссылками.
0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
26.01.2018, 12:55 6
MINO, Пример нормальный приведите, опять же.
Цитата Сообщение от MINO Посмотреть сообщение
склеить два массива
Ровно два - структура, кортеж, пара, массив из двух указателей
Больше - массив указателей на массив.
0
12 / 12 / 5
Регистрация: 03.06.2016
Сообщений: 169
26.01.2018, 13:49  [ТС] 7
Цитата Сообщение от alex white Посмотреть сообщение
Ровно два - структура, кортеж, пара, массив из двух указателей
Два это я погорячился, два это образно.

Цитата Сообщение от alex white Посмотреть сообщение
Больше - массив указателей на массив.
Допустим, есть некий трафик который приходит из сети в разных потоках, это все пихается то на диск(в последствии позже попадает в память) то в память, в общем все перемешалось люди кони, естественно есть некоторые служебные данные которые говорят как это все потом привести в порядок или же работать уже с этими данными?

Как собственно, по скорости, лучше с этим работать, ничего страшного не будет если в памяти будет бардак, то есть эти данные будут дефрагментированы в памяти.
0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
26.01.2018, 15:12 8
MINO, если обработка однородна, то скопировать в один кусок и работать с ним будет проще, по коду.
Что касается скорости, то после препроцессинга (подготовки данных, возможной конкатенации) выигрывать будет скорее всего вариант с одним массивом (проще код - проще оптимизировать, локальность данных способствует их кешированию). Если их обработка ведется в несколько потоков, то я предполагаю, что лучше использовать несколько массивов, дабы железо ничего не пыталось синхронизировать, но тут я пока плохо разбираюсь (http://www.drdobbs.com/paralle... /217500206)
0
12 / 12 / 5
Регистрация: 03.06.2016
Сообщений: 169
28.01.2018, 17:56  [ТС] 9
То есть, грубо говоря, два массива, например, пускаем цикл по этим двум массивам и один массив с тем же циклом, то один массив быстрей отработает?

Добавлено через 2 минуты
Про параллельное программирование мне еще пока рано думать, хотя непонятно почему используют pragma opt если она такая не предсказуемая.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2018, 17:56

Наследование vs Композиция vs Агрегация: что лучше выбрать? Как лучше передавать объекты в функции?
Добрый день!! Дело вот в чём, я хочу создать класс, внутри которого будут созданы объекты...

Как можно выполнить слияние частей массива?
Привет всем! Необходимо разбить массив на n-частей,выполнить сортировку каждой из частей массива в...

Слияние частей массива
Возможно ли объединить две части массива и (middle, last] отсортированные по неубыванию в одну...

Слияние массива по заданому условию
Такая задача: Даны два массива. Сформировать третий массив, состоящий из тех элементов, которые: а)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru