더북(TheBook)

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);
    }
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.