Advertisement
kuczi55

Untitled

Apr 1st, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 0
  1. int hash(int x, int i, HT*ht)
  2. {
  3. return (hash(x)+i)%ht->size;
  4. }
  5.  
  6. HT* enlarge(HT*ht)
  7. {
  8. HT*tab=new HT;
  9. tab->size=2*(ht->size);
  10. tab->table=new int [tab->size];
  11. for(int i=0; i<tab->size; i++) tab->table[i]=-1;
  12. for(int i=0; i<ht->size; i++)
  13. {
  14. if(ht->table[i]>0 && tab->table[hash(ht->table[i])]<0){
  15. tab->table[hash(ht->table[i]]=ht->table[i];
  16. ht->table[i]=-1;
  17. }
  18. }
  19. for(int i=0; i<ht->size; i++)
  20. {
  21. if(ht->table[i]>=0){
  22. int b=0;
  23. while(tab->table[hash(ht->table[i], b, tab)]>=0)
  24. b++;
  25. tab->table[hash(ht->table[i], b, tab)]=ht->table[i];
  26. }
  27. return tab;
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement