Нужна помощь в реализации хеш таблице Я хочу вывести на екран свою хеш таблицу
| Код | void Print(const HashTable* hashTable) { for (HashTable::BucketNode* listNode = hashTable->buckets; listNode != nullptr; listNode = listNode->nextNode) // тут выдает ошибку. printf("%d\n", listNode->value); printf("\n"); }
|
Мой хедер файл:
| Код | #ifndef __HASHTABLE_H__ #define __HASHTABLE_H__
struct String;
struct HashTable { struct BucketNode { String* key; int value; BucketNode* nextNode; }; BucketNode** buckets; unsigned maxNumBuckets; unsigned numElements; };
(есть еще и другии функции) const int* Get(const HashTable* hashTable, const char* key); void Remove(HashTable* hashTable, const char* key); void Print(const HashTable* hashTable);
#endif
|
Добавлено @ 12:51 Тоже самое и в функциях Get(), Remove();
| Код | const int* Get(const HashTable* hashTable, const char* key) { for (HashTable::BucketNode* listNode = hashTable->buckets; listNode != nullptr; listNode = listNode->nextNode) { if (strcmp(listNode->key->str, key) == 0) return listNode; } return nullptr; } void Remove(HashTable* hashTable, const char* key) { HashTable::BucketNode* temp = hashTable->buckets; hashTable->buckets = temp->nextNode; free(temp); }
|
|