[c++] 해시 테이블을 이용한 빠른 연관 배열 구현 방법
해시 테이블은 데이터를 효율적으로 저장하고 관리할 수 있는 자료구조로, 키(key)와 값(value)을 한 쌍으로 저장하는 연관 배열에 사용됩니다. C++ 에서는 std::unordered_map
을 이용하여 해시 테이블을 구현할 수 있습니다.
std::unordered_map
사용 방법
std::unordered_map
은 <unordered_map>
헤더 파일에 정의되어 있습니다. 다음은 std::unordered_map
을 사용하여 빠른 연관 배열을 구현하는 간단한 예제 코드입니다.
#include <iostream>
#include <unordered_map>
int main() {
// 해시 테이블 생성
std::unordered_map<std::string, int> myMap;
// 값 추가
myMap["one"] = 1;
myMap["two"] = 2;
myMap["three"] = 3;
// 값 조회
std::cout << "Value of key 'two': " << myMap["two"] << std::endl;
// 키 존재 여부 확인
if (myMap.find("four") != myMap.end()) {
std::cout << "Key 'four' found in the map" << std::endl;
} else {
std::cout << "Key 'four' not found in the map" << std::endl;
}
return 0;
}
위 예제에서는 std::unordered_map
을 사용하여 문자열 키와 정수 값으로 이루어진 연관 배열을 구현했습니다. []
연산자를 이용하여 값을 추가하고 조회할 수 있습니다. 또한, find
함수를 이용하여 특정 키가 존재하는지 확인할 수 있습니다.
결론
해시 테이블을 이용하면 데이터를 원하는 위치에 빠르게 저장하고 검색할 수 있습니다. std::unordered_map
은 이러한 기능을 표준 라이브러리에서 제공하므로, 간편하게 빠른 연관 배열을 구현할 수 있습니다.
더 많은 정보를 원한다면 cppreference를 참고해보세요.