Вывод списка после цепного хэширования

Изучаю алгоритм цепного хэширования таблицы. Для этого создал структуру table. Написал класс HashingTable, метод добавляет элемент в таблицу. Однако у меня не получается сделать метод с выводом всего списка (printTable), что бы проверить, правильно ли происходит хэширование. Буду благодарен, если подскажете как реализовать данный метод.

#include <iostream>

using namespace std;
struct table {
    int num;
    string fio;
    string adress;
    table* n;
    table* p;
    table(int num, string fio, string adress) {
        this->num = num;
        this->adress = adress;
        this->fio = fio;
        this->n = NULL;
    }
};

class HashingTable {
private:
    table** ht;
    table** pop;
public:
    HashingTable() {
        ht = new table * [100];
        for (int i = 0; i < 100; i++) {
            ht[i] = NULL;
        }
    }
    int hash(int x) {
        return x % 10;
    }

    void insertItem(int num, string fio, string adress) {
        int hash_id = hash(num);
        table* p = NULL;
        table* en = ht[hash_id];
        while (en != NULL) {
            p = en;
            en = en->n;
        }
        if (en == NULL) {
            en = new table(num, fio, adress);
            if (p == NULL) {
                ht[hash_id] = en;
            }
            else {
                p->n = en;
            }
        }
        else {
            en->num =  num;
        }
    }
    void printTable() {
        table* en = ht[0];
            cout << en->n;
        
    }
};

int main()
{
    HashingTable hashingTable;
    hashingTable.insertItem(12, "ADV", "Parkovaya");
    hashingTable.insertItem(3, "DHR", "Pervomaiskaya");
    hashingTable.printTable();

}

Ответы (0 шт):