[c++] C++에서의 해시 테이블을 활용한 데이터 추출 및 변환
해시 테이블은 데이터를 효율적으로 저장하고 검색하기 위한 자료 구조로, C++에서는 std::unordered_map
을 사용하여 구현할 수 있습니다. 이 자료 구조를 사용하여 데이터를 추출하고 변환하는 방법을 살펴보겠습니다.
1. 해시 테이블 구현
먼저, 해시 테이블을 구현하기 위해 std::unordered_map
을 사용합니다. 다음은 간단한 해시 테이블을 선언하는 예제 코드입니다.
#include <iostream>
#include <unordered_map>
#include <string>
int main() {
std::unordered_map<std::string, int> data = {{"apple", 5}, {"banana", 3}, {"cherry", 7}};
// 해시 테이블에 데이터 추가
data["durian"] = 9;
// 데이터 접근
std::cout << "cherry: " << data["cherry"] << std::endl;
return 0;
}
2. 데이터 추출 및 변환
해시 테이블을 사용하여 데이터를 추출하고 변환하는 방법은 간단합니다. 특정 데이터에 접근하여 값을 변경하거나 새로운 데이터를 추가할 수 있습니다. 아래 예제 코드는 해시 테이블에서 데이터를 추출하고, 값을 변환하여 새로운 데이터를 추가하는 과정을 보여줍니다.
#include <iostream>
#include <unordered_map>
#include <string>
int main() {
std::unordered_map<std::string, int> data = {{"apple", 5}, {"banana", 3}, {"cherry", 7}};
// 해시 테이블에 데이터 추가
data["durian"] = 9;
// 데이터 추출 및 변환
if (data.find("apple") != data.end()) {
int& value = data["apple"];
value *= 2; // apple의 값을 2배로 변환
}
// 변환된 데이터 출력
for (const auto& entry : data) {
std::cout << entry.first << ": " << entry.second << std::endl;
}
return 0;
}
위의 코드를 실행하면, apple
의 값이 2배로 변환된 것을 확인할 수 있습니다.
해시 테이블을 사용하여 데이터를 효율적으로 관리하고, 필요에 따라 추출하고 변환하는 것은 C++ 프로그래밍에서 매우 유용한 기능입니다.
결론
C++에서 std::unordered_map
을 이용하여 해시 테이블을 구현하고 데이터를 추출하고 변환할 수 있습니다. 이를 통해 데이터를 효율적으로 관리하고 필요에 따라 변환하는 프로그래밍 작업을 보다 쉽게 수행할 수 있습니다.
참고 문헌: cplusplus.com - unordered_map