더북(TheBook)

3.2.2 연습 문제 13: 정수 값을 저장하는 간단한 사전

이번 연습 문제에서는 부호 없는 정수를 사용하는 기본적인 해시 맵을 구현해보겠습니다.

  1. 필요한 헤더 파일을 포함합니다.

#include <iostream>
#include <vector>

  2. hash_map 클래스를 추가합니다. unsigned int 타입 이름 대신 짧게 uint로 사용하겠습니다.

using uint = unsigned int;

class hash_map
{
    std::vector<int> data;

  3. hash_map 클래스의 생성자를 추가합니다. 이 생성자는 해시 맵에서 사용할 데이터 크기를 인자로 받습니다.

public:
    hash_map(size_t n)
    {
        data = std::vector<int>(n, -1);
    }

생성자에서는 data 벡터의 모든 원소를 -1로 초기화했습니다. 이 예제에서 음수 데이터는 사용하지 않으며, data 벡터 값이 -1이라는 것은 해당 위치에 저장된 원소가 없음을 나타냅니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.