Finalize _set.
This commit is contained in:
parent
70022ae1f6
commit
c9c662dd00
1 changed files with 5 additions and 3 deletions
|
@ -59,7 +59,7 @@ int hashtable_set(HASHTABLE* hashtable, char* key, void * value) {
|
|||
idx = hash_of_key(hashtable, key);
|
||||
hashtable->size += 1;
|
||||
|
||||
printf("hashtable_set -- search value [%d/%d]\n", idx, hashtable->capacity);
|
||||
printf("hashtable_set -- index [%d/%d]\n", idx, hashtable->capacity);
|
||||
// search value
|
||||
cell = hashtable->data[idx];
|
||||
while(cell) {
|
||||
|
@ -70,6 +70,7 @@ int hashtable_set(HASHTABLE* hashtable, char* key, void * value) {
|
|||
if (cell) {
|
||||
// if cell exists, then change inner value
|
||||
printf("hashtable_set -- update value\n");
|
||||
cell->value = value;
|
||||
} else {
|
||||
printf("hashtable_set -- create value\n");
|
||||
// create cell & prepend it to the chain
|
||||
|
@ -128,10 +129,11 @@ int main(int argc, char** argv) {
|
|||
hashtable_set(hashtable, "alice", &x);
|
||||
printf("h['alice'] <- %d\n", x);
|
||||
hashtable_set(hashtable, "bob", &y);
|
||||
printf("h['bob'] <- %d\n", x);
|
||||
printf("h['bob'] <- %d\n", y);
|
||||
hashtable_set(hashtable, "charlie", &z);
|
||||
printf("h['charlie'] <- %d\n", x);
|
||||
printf("h['charlie'] <- %d\n", z);
|
||||
hashtable_set(hashtable, "alice", &y);
|
||||
printf("h['alice'] <- %d\n", y);
|
||||
value = hashtable_get(hashtable, "alice");
|
||||
printf("h['alice'] ? %d\n", *value);
|
||||
value = hashtable_get(hashtable, "bob");
|
||||
|
|
Loading…
Reference in a new issue