Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dederkay
34 / 34 / 0
Регистрация: 08.12.2010
Сообщений: 161
#1

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

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

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

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

Динамически выделить память под массив - C++
Добрый день форусчани Как можно выделить память под массив объекта класса class Save_Colection { public: pk *field; ...

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

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

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

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

3
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
07.04.2012, 18:40 #2
Не совсем вас понял, но, думаю, std::map может вам помочь.
0
dederkay
34 / 34 / 0
Регистрация: 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 / 5
Регистрация: 24.09.2011
Сообщений: 149
07.04.2012, 19:48 #4
Ну сделайте динамическую хеш-таблицу. У нас ведь когда количество ключей в хеш-таблице увеличивается, то скорость поиска снижается. В этом и отличие хеш-таблиц от сбалансированных деревьев поиска, что поиск быстрый, а памяти много надо)))

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

Динамически выделить память под массив функций - C++
QByteArray (SerfingThread::*lp_GetRequest)(const QByteArray& ,const QByteArray&); как сделать тоже самое только через new? как правильно...

Выделить память под динамический массив указателей - C++
Нужно выделить память вот под такое дело. Для примера n=5 . Ничего нагуглить так и не смог :( что есть : #include "stdafx.h" ...

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

Как правильно выделить память под двумерный массив в шаблоне? - C++
template <class T> T* array <T>::f (unsigned size) { //...... T* templateBuf = new T ; for (unsigned index = 0;...


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

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

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