Example #1
0
int main(void) {
  struct hashmap aa;
  struct hashmap *a= &aa;



  hashtable_initialize(a, 200, default_hash, 4);

  uint8_t key[4] = {1,2,3,4};
  int i;
  for (i= 0; i < 10; i++) {
    key[0] = i;
    hashtable_add(a,key,(void*)5);

  }

  hashtable_iter(a,iter);
  printf("deleting\n");

  for (i= 0; i < 5; i++) {
    key[0] = i;
    hashtable_delete(a,key);
  }

  hashtable_iter(a,iter);
  return 0;
}
Example #2
0
File: HashTable.c Project: ATAIEC/C
int hashtable_resize(HashTable * ht, size_t size){
	HashTable * newht = hashtable_initialize(size, ht->maxCollisions, ht->growthFactor, ht->hf, ht->eq);
	int i;
	Item * next;

	// Re-enter all the items again into the new hashtable 
	// with the new size.
	for(i=0; i<ht->size; i++){
		if(ht->table[i]){
			for(next=ht->table[i]; next; next=next->next){
				hashtable_add(newht, next->key, next->value);
			}
		}

		hashtable_remove(ht, ht->table[i]->key);
	}

	free(ht->table);
	ht->size = newht->size;
	ht->table = newht->table;

	return(1);
}