Разрабатываю программу, которая будет искать нужный элемент при помощи хэш-таблицы. Хэш-таблицу организую путём создания массива, состоящего из ЛОС(Линейных односвязных списков) Объявление структуры:
struct LOS {
int inf;
LOS* next;
};
Код самой программы достаточно прост в переменную sourcelen пишу длину числового массива, в котором будут находиться исходные данные, в x - буду записывать элементы массива(если длина массива будет менее 5), если более, то массив заполнится при помощи датчика псевдослучайных чисел. Далее при помощи функции Maximum найду наибольшее значение элемента в массиве hasharray. После этого вычисляю размер массива, состоящего из ЛОС. и с использование hashFunc заполню массив, состоящий из ЛОС.
int main()
{
setlocale(LC_ALL, "RUS");
int sourcelen = 0;;
int x = 0;
int m;
cout << "Введите размер массива = ";
sourcelen = control(sourcelen);
int* hasharray = new int[sourcelen];
if (sourcelen > 5) {
for (int i = 0; i < sourcelen; i++) {
srand(time(0));
hasharray[i] = rand();
}
}
else {
cout << "Введите элементы массива" << endl;
for (int i = 0; i < sourcelen; i++) {
x = control(x);
hasharray[i] = x;
}
}
m = Maximum(hasharray, sourcelen) /2;
int k = 0;
k = (int)(sourcelen / m);
if (k < 9)
k == 9;
LOS** list = new LOS*[k];
for (int i = 0; i < k; i++) {
list[i]->next = NULL;
}
hashFunc(list, hasharray, sourcelen, m);
cout << "Вывод" << endl;
for (int i = 0; i < k; i++) {
while (list[i]->next) {
cout << list[i]->inf << " ";
list[i] = list[i]->next;
}
}
Проблема возникает в функции hashFunc
void hashFunc(LOS ** list, int *i, int size, int m) {
for (int j = 0; j < size; j++) {
int t = (i[j] % m);
list[t]->inf = i[j];
list[t] = list[t]->next;
list[t]->next = NULL;
}
}
Выбрасывает исключение на строке
list[t]->inf = i[j];
Ну могу понять что я делаю не так?
Виртуальный выделенный сервер (VDS) становится отличным выбором
недавно смотрел видео по созданию веб-приложения с помощью Spring MVC и Freemarker и пытался понять что и к чемуНа 1:20:00 https://www
Я создал кастомного твич бота с использованием библиотеки cavariuxВызвал по очереди методы в main классе
Я как понял, если я хочу скомпилировать код, в котором используются различные сторонние библиотеки, то мне необходимо будет писать кучу доппараметров,...