Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. void resizeTable(HashMap* map, int capacity)
  2. {
  3. printf("resize triggered\n");
  4. HashLink** doubled = malloc(sizeof(HashLink*) * capacity);
  5. HashLink** temp = map->table;
  6. map->table = doubled;
  7.  
  8. if(map->size > 0) { //No need to iterate if there are no elems
  9. printf("rehashing triggered\n");
  10. for (int i = 0; i < map->capacity; i++) { //Iterate through old maps members
  11. struct HashLink *iterator = temp[i];
  12. if (iterator != NULL) { //Current bucket has elems
  13. while(iterator != 0){
  14. hashMapPut(map, iterator->key, iterator->value); //Put elems into new hashMap
  15. iterator = iterator->next;
  16. }
  17. }
  18. }
  19. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement