Can someone explain the normalize function for this hash table, and please provide comments for each line of code:
void normalize(string & s) { string t = ""; for (int i = 0; i < s.length();="" i++)=""> if (s[i] <= 'z'="" &&="" s[i]="">= 'A') s[i] += ('a' - 'A'); if (s[i] <= 'z'="" &&="" s[i]="">= 'a') t+= s[i]; } s = t;}
unsigned int hashStr(const string & s, int size) { unsigned int h = s[0]; for (int i = 1; i < s.length();=""> //h = (h*i)+s[i]; //My hash h+=s[i]*26*i; //h+=s[i]; return h % size ;}
int main(){ string word; string originalWord; int startTableSize; int endTableSize; int hashResult; do{ cout < "enter="" the="" table="" starting="" size\n!="" to="" quit"=""><> cin >> startTableSize; cout < "enter="" the="" table="" end="" size\n!="" to="" quit"=""><> cin >> endTableSize; cout < "enter="" a="" word="" to="" hash\n!="" to="" quit"=""><> cin >> word;
originalWord = word; cout < "before="" normalize:="" "="">< word=""><> normalize(word); cout < "after="" normalize:="" "="">< word="">< endl=""><>
for(int i = startTableSize; i <= endtablesize;="">=> hashResult = hashStr(word, i); cout < "size="" "="">< i="">< "="" "="">< hashresult=""><> } cout <>
}while(originalWord!="!"); cout < "bye"=""><> return 0;}
=>=>
Already registered? Login
Not Account? Sign up
Enter your email address to reset your password
Back to Login? Click here