3.3.2 연습 문제 14: 체이닝을 사용하는 해시 테이블
이번 연습 문제에서는 해시 테이블을 구현하고 체이닝을 이용하여 충돌을 처리하겠습니다.
1. 필요한 헤더 파일을 포함합니다.
#include <iostream>
#include <vector>
#include <list>
#include <algorithm>
2. hash_map 클래스를 추가합니다. unsigned int 타입 이름 대신 짧게 uint로 사용하겠습니다.
using uint = unsigned int;
class hash_map
{
std::vector<std::list<int>> data;
3. hash_map 클래스의 생성자를 추가합니다. 이 생성자는 해시 맵 또는 데이터 크기를 인자로 받습니다.
public:
hash_map(size_t n)
{
data.resize(n);
}