저는 C++을 처음 접했습니다. 정말 간단한 해시 테이블을 구현하려고 시도한 다음 해싱 알고리즘이 요소를 올바른 위치에 배치했는지 확인하고 싶습니다. 그러나, 분명히 요소도 전혀 배열에 추가되지 않은 :배열 요소가 성공적으로 추가되지 않았습니까? (C++)
void add(string str, array<string, 2000> data) {
int i = makeHash(str) % data.size();
while (data[i++ % data.size()].compare("") != 0)
continue;
data[i % data.size()] = str;
cout << "Added!"; // successfully prints, meaning str was added to data
}
int main() {
array<string, 2000> data;
string str = "The quick brown fox something something";
add(str, data);
for (int i = 0; i < data.size(); i++)
if (data[i].compare(str) == 0)
cout << i; // never prints... so str was never added to data?
return 0;
}
makeHash 기능은 어디에 있습니까? –