Форум программистов, компьютерный форум CyberForum.ru

Как хранить и обрабатывать массив больших элементов - C++

Восстановить пароль Регистрация
 
ioscat
0 / 0 / 0
Регистрация: 07.05.2014
Сообщений: 44
20.06.2014, 11:00     Как хранить и обрабатывать массив больших элементов #1
Всем привет

Есть некоторый буфер объёма 1 350 000 байт (значение конкретное в конкретном времени и месте, в принципе, возможно другое), в котором хранится некоторая информация по одному событию. Допустим нам нужно хранить сто таких буферов. Вопрос первый - что стоит использовать - массив указателей или вектора? Второй мой вопрос - Если нам захотелось выкинуть первый, всё сдвинуть и в освободившееся место добавить новую информацию, ведь не нужно весь массив циклически переносить, наверное, можно обойтись указателями? И третий вопрос - если нужно добавить элемент, нужно делать realloc?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2014, 11:00     Как хранить и обрабатывать массив больших элементов
Посмотрите здесь:

Сформировать массив из количества элементов столбца матрицы, больших числа n C++
C++ Дан массив из n элементов. Найти в нем количество элементов, больших 10 и вывести их на экран.
C++ Сделать функцию, которая принимает одномерный массив и возвращает индексы трех его самых больших элементов(сортировку не использовать), указателями
Задача по многомерным массивам (Сформировать одномерный массив, каждый элемент которого равен количеству элементов соответствующей строки, больших да) C++
C++ Сформировать новый массив, состоящий только из нечетных элементов больших 3 и меньших 14
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4309 / 3730 / 1257
Регистрация: 14.04.2014
Сообщений: 14,613
20.06.2014, 11:30     Как хранить и обрабатывать массив больших элементов #2
А зачем realloc(), если ты хранишь каждый буфер сам по себе, а не в одном пространстве?
С vector проще, мне кажется.
Vourhey
Почетный модератор
6469 / 2244 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
20.06.2014, 11:33     Как хранить и обрабатывать массив больших элементов #3
Цитата Сообщение от ioscat Посмотреть сообщение
массив указателей или вектора?
Мммм
Цитата Сообщение от ioscat Посмотреть сообщение
Если нам захотелось выкинуть первый, всё сдвинуть и в освободившееся место добавить новую информацию, ведь не нужно весь массив циклически переносить, наверное, можно обойтись указателями?
В зависимости от того, что хочешь с этим массивом делать. Для быстрого удаления и вставки можно использовать list.
Цитата Сообщение от ioscat Посмотреть сообщение
И третий вопрос - если нужно добавить элемент, нужно делать realloc?
В случае с контейнерами - нет.

Добавлено через 2 минуты
Цитата Сообщение от nmcf Посмотреть сообщение
если ты хранишь каждый буфер сам по себе, а не в одном пространстве?
Это верно. Но в таком случае ты же еще хранишь указатели на буферы. И массив этих указателей нужно будет увеличить в размерах, если, допустим, ты решил еще 500 буферов накидать.
nmcf
4309 / 3730 / 1257
Регистрация: 14.04.2014
Сообщений: 14,613
20.06.2014, 11:35     Как хранить и обрабатывать массив больших элементов #4
Ну я про первое подумал. Надо использовать контейнер, зачем программировать то, что уже есть.
ioscat
0 / 0 / 0
Регистрация: 07.05.2014
Сообщений: 44
20.06.2014, 11:56  [ТС]     Как хранить и обрабатывать массив больших элементов #5
Спасибо за советы, надо почитать ещё доков

Ещё вот советуют кольцевой буфер устроить и хранить длину/начала
Yandex
Объявления
20.06.2014, 11:56     Как хранить и обрабатывать массив больших элементов
Ответ Создать тему
Опции темы

Текущее время: 11:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru