Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. //insert, find, delete
  2. public void insert(S key, T element) {
  3. //check if load factor is too big
  4. double resize = (double) totalKeys / (double) array.length;
  5. if (resize > THRESHOLD) {
  6. resize();
  7. }
  8. //create new node
  9. Node<T> temp = new Node<T>();
  10. Node<T> prev = new Node<T>();
  11. temp.key = key;
  12. temp.element = element;
  13. //find a place to put it
  14. // hash function, key % tableSize % hashcode
  15. int slot = key.hashCode() % array.length;
  16. int hash = key.hashCode() % getPrime();
  17. if (array[slot] == null) {
  18. array[slot] = temp;
  19. totalKeys++;
  20. } else {//double hashing
  21. prev = array[slot];
  22. while (array[slot] != null) {
  23. prev = array[slot];
  24. slot += hash;
  25. slot %= array.length;
  26. }
  27. array[slot] = temp;
  28. prev.nextNode = temp;
  29. totalKeys++;
  30. }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement