Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
dederkay
39 / 39 / 4
Регистрация: 08.12.2010
Сообщений: 161
#1

Выделить память под массив в 100500 индексе. Возможно ли? - C++

07.04.2012, 18:39. Просмотров 607. Ответов 3
Метки нет (Все метки)

например мне нужно хранить значение в массиве data, но индекс получен из хеш ф - и, и я не хочу создавать массив статического размера, а выделять память по мере нужды. Внимание вопрос: как выделить память только под нужные мне индексы. И стоит ли хранить хеш ключей? Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2012, 18:39
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Выделить память под массив в 100500 индексе. Возможно ли? (C++):

Динамически выделить память под массив
Добрый день форусчани Как можно выделить память под массив объекта класса...

Динамически выделить память под массив
Задание было в следующем: дан вещественный двумерный массив А. Поменять местами...

Выделить память под массив классов заранее
Можно ли скажем так выделить память под массив классов с участием конструктора...

Выделить память под массив размера 2^64 байтов
Требуется выделить память под массив размера 2^64 байтов. Как порекомендуете...

Выделить память под массив неизвестной длины
для программы нужен массив int Array т.е. длину строки я знаю, а сколько...

Выделить память под динамический массив указателей
Нужно выделить память вот под такое дело. Для примера n=5 . Ничего нагуглить...

3
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
07.04.2012, 18:40 #2
Не совсем вас понял, но, думаю, std::map может вам помочь.
0
dederkay
39 / 39 / 4
Регистрация: 08.12.2010
Сообщений: 161
07.04.2012, 18:59  [ТС] #3
По всей видимости я неправильно задал вопрос. Я пытаюсь написать hash таблицу. На сколько я понимаю это (наример строки)
C++
1
2
3
4
5
6
7
8
9
10
class D_Base
{
char * data[/*больший размер*/];
uint key[/*статический размерчик*/];
unsigned int hash(strKey)
{
/*допустим я буду юзать maPrime2cHash который возвращает значение вроде 1750356712 которое и будет индексом для значения которое я положу в массив data вроде как  data[1750356712] = {"bla bla bla"}*/
смысл с массива в длину 1750356712 где есть только 1 значение? я просто не уверен возможно ли выделить память только для data[1750356712];
}
}
0
Merovingian
54 / 54 / 9
Регистрация: 24.09.2011
Сообщений: 149
07.04.2012, 19:48 #4
Ну сделайте динамическую хеш-таблицу. У нас ведь когда количество ключей в хеш-таблице увеличивается, то скорость поиска снижается. В этом и отличие хеш-таблиц от сбалансированных деревьев поиска, что поиск быстрый, а памяти много надо)))

Нужно делать так:
Когда хеш-таблица заполнена больше чем на половину, то расширять её в два раза.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2012, 19:48
Привет! Вот еще темы с решениями:

Выделить и удалить память под 4 мерный массив
пацаны помогите.. Добавлено через 1 час 11 минут .помогите..не могу вобще...

Как выделить память под массив в структуре?
Здравствуйте , воnрос конечно глуnый , но голову я сижу ломаю долго , есть...

Динамически выделить память под массив функций
QByteArray (SerfingThread::*lp_GetRequest)(const QByteArray& ,const...

Как выделить память под динамический двумерный массив
Добрый день, достаточно простой вопрос, но почему-то он возник, и нагуглить...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru