将插入的节点从struct c ++链接到链表

问题描述 投票:0回答:1

程序从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
c++ pointers linked-list hashtable singly-linked-list
1个回答
0
投票

除了更改我追加节点的方式之外,通过添加新关键字也得到了@ user4581301的帮助

hash_table_entry* c = new hash_table_entry
                {
            stoi(EVENT_ID),stoi(YEAR),
            counter
        };
© www.soinside.com 2019 - 2024. All rights reserved.