소개
이 랩에서는 C++ 에서 std::unordered_set을 구현하고 사용하는 방법을 배우게 됩니다. Set 은 목록의 고유한 값을 저장하고 자동으로 정렬하는 데 사용됩니다. Unordered set 은 set 과 유사하지만, 요소를 정렬하지 않고 임의의 순서로 저장한다는 점이 다릅니다. 또한 중복된 요소는 자동으로 제거합니다.
이 랩에서는 C++ 에서 std::unordered_set을 구현하고 사용하는 방법을 배우게 됩니다. Set 은 목록의 고유한 값을 저장하고 자동으로 정렬하는 데 사용됩니다. Unordered set 은 set 과 유사하지만, 요소를 정렬하지 않고 임의의 순서로 저장한다는 점이 다릅니다. 또한 중복된 요소는 자동으로 제거합니다.
먼저, 코드를 담을 프로젝트 폴더를 생성합니다. 터미널을 열고 cd 명령어를 사용하여 해당 폴더로 이동합니다.
cd ~/project
touch main.cpp
원하는 텍스트 편집기를 사용하여 main.cpp라는 새 파일을 생성합니다.
이 단계에서는 C++ 에서 std::unordered_set의 작동을 시연하는 프로그램을 작성합니다. 이 프로그램은 빈 std::unordered_set을 선언하고, 일부 요소로 채우고, 요소를 삭제한 다음, set 의 요소를 출력합니다.
필요한 라이브러리를 포함하고 반복자를 사용하여 unordered set 의 요소를 출력하는 show 함수를 생성하는 것으로 시작합니다.
#include <iostream>
#include <unordered_set>
void show(std::unordered_set<int> s)
{
std::unordered_set<int>::iterator it;
for (it = s.begin(); it != s.end(); ++it)
{
std::cout << *it << " ";
}
}
이 단계에서는 insert 메서드를 사용하여 std::unordered_set을 여섯 개의 정수로 채웁니다.
int main()
{
std::unordered_set<int> s;
s.insert(5);
s.insert(39);
s.insert(64);
s.insert(82);
s.insert(35);
s.insert(54);
std::cout << "The elements of the unordered set are: \n";
show(s);
return 0;
}
이 단계에서는 erase 메서드를 사용하여 unordered set 에서 요소를 삭제합니다. 그런 다음 업데이트된 set 을 출력합니다.
int main()
{
std::unordered_set<int> s;
s.insert(5);
s.insert(39);
s.insert(64);
s.insert(82);
s.insert(35);
s.insert(54);
std::cout << "The elements of the unordered set are: \n";
show(s);
s.erase(39);
std::cout << "\nAfter deleting the element 39 from the unordered set using the erase() method, it becomes: \n";
show(s);
return 0;
}
코드를 컴파일하고 실행하려면 터미널에서 다음 명령을 사용하십시오.
g++ main.cpp -o main && ./main
출력 결과는 다음과 같습니다.
The elements of the unordered set are:
54 35 5 64 39 82
After deleting the element 39 from the unordered set using the erase() method, it becomes:
54 35 5 64 82
다음은 main.cpp의 전체 코드입니다.
#include <iostream>
#include <unordered_set>
void show(std::unordered_set<int> s)
{
std::unordered_set<int>::iterator it;
for (it = s.begin(); it != s.end(); ++it)
{
std::cout << *it << " ";
}
}
int main()
{
std::unordered_set<int> s;
s.insert(5);
s.insert(39);
s.insert(64);
s.insert(82);
s.insert(35);
s.insert(54);
std::cout << "The elements of the unordered set are: \n";
show(s);
s.erase(39);
std::cout << "\nAfter deleting the element 39 from the unordered set using the erase() method, it becomes: \n";
show(s);
return 0;
}
이 랩에서는 C++ 에서 std::unordered_set을 구현하고 사용하는 방법을 배웠습니다. std::unordered_set은 고유한 값을 저장하는 데 사용되며 중복을 자동으로 제거합니다. std::set과 달리, 요소들을 정렬하지 않고 임의의 순서로 저장합니다.