私はC++の学生で、ハッシュテーブルの作成方法を学ぼうとしています. ハッシュ コーディング部分がダウンしていますが、テーブルをコーディング部分に実装する方法がわかりません。誰かが私を助けてくれたら、それは素晴らしいことです。ありがとう
Movies::Movies(string fn){loadMovies(fn);}
int Movies::getMovieCount() const {return movieCnt;}
int hashcode(string title)
{
int hash = 0;
int factor = 0 ;
for (int i = 0; i<title.length(); i++)
hash = factor* title.at(i);
return hash;
}
const Movie * Movies::getMovie(string mc, int& mn) const {
if(mc.length()==0)
return NULL; // not found
else {
string mcP = myToLower(mc);
int ndx=0;
for(;ndx<movieCnt &&
(myToLower(movies[ndx].getTitle()).find(mcP)==
string::npos);ndx++);
mn = ndx<movieCnt?ndx+1:0;
return ndx<movieCnt?&movies[ndx]:NULL;
}
}
Movies::~Movies() {
delete[] movies;
movies = NULL;
}
void Movies::loadMovies(string fn) {
ifstream iS(fn);
string s;
getline(iS, s); // skip heading
getline(iS, s);
movieCnt=0;
movies = new Movie[MAX_MOVIES];
while(!iS.eof()) {
movies[movieCnt++] = Movie(s);
getline(iS, s);
}
iS.close();
reSize();
}
void Movies::reSize() {
Movie * m = movies;
movies = new Movie[movieCnt];
for(int i=0;i<movieCnt;i++)
movies[i] = m[i];
}