F2D* resizeArray(F2D* array, int omin) { F2D* prev = NULL; F2D* current = array; int o; if(omin<0) { for(o=1; o>=-omin; o--) { prev = current; current = doubleSize(current); fFreeHandle(prev); } } if(omin>0) { for(o=1; o<= omin; o++) { prev = current; current = halveSize(current); fFreeHandle(prev); } } return current; }
void deletePair(char* key, hashTable* hTable) { hTable->loadFactor = removePair(key, hTable->table, hTable->tableSize, hTable->loadFactor); if(hTable->loadFactor < hTable->minLoad && hTable->tableSize > 1) { hTable->table = halveSize(hTable->table, hTable->tableSize, hTable->loadFactor); hTable->loadFactor = hTable->loadFactor * 2; hTable->tableSize = hTable->tableSize / 2; } }