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 = 'A') s[i] += ('a' -...


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;
}




Jun 05, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here