Связывание вставленного узла со связанным списком из struct c ++ - PullRequest
0 голосов
/ 22 октября 2019

Программа создает хэш-таблицу из 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

1 Ответ

0 голосов
/ 22 октября 2019

Помогло @ user4581301, добавив новое ключевое слово, в дополнение к изменению способа добавления узла

hash_table_entry* c = new hash_table_entry
                {
            stoi(EVENT_ID),stoi(YEAR),
            counter
        };
...