Программа создает хэш-таблицу из CSV. Функция работает только для первого фрагмента данных, когда я пытаюсь связать новый узел (связанное звено), она не может присоединить новый узел. Я попытался прочитать, был ли присутствующий узел, и должен ли он пройти до тех пор, пока он не найдет конец, а затем вставить «событие» узла в связанный список.
Любая помощь приветствуется.
struct hash_table_entry{
int event_id;
int year;
int event_index;
struct hash_table_entry *next = nullptr;
};
Это функция
bool insertHash(int index, hash_table_entry *event)
{
if(hashtable[index] == nullptr)
{
hashtable[index] = event;
return true;
}
hash_table_entry *pointingAt, *head;
// before we move
pointingAt = hashtable[index];
head = hashtable[index];
while(pointingAt->next)
{
pointingAt = pointingAt->next;
}
// insert
cout << pointingAt << "<- thing inserted" << endl;
pointingAt->next = event;
return true;
}
Так я реализовал ее в main (работает для каждой строки в csv)
insertHash(hashCalc(EVENT_ID,&c)
// c is the event