상세 컨텐츠

본문 제목

STL :: set ( 중복 탐색 시 용이 )

C++/STL

by J2on 2024. 1. 24. 16:23

본문

Set의 기본 개념

  • 정렬된 컨테이너: 'set'은 정렬된 컨테이너로, 원소들이 항상 정렬된 상태를 유지. 기본적으로는 오름차순으로 정렬
  • 고유한 원소: 중복된 원소를 허용하지 않는다. 각 원소는 고유한 값
  • 검색 및 삽입 속도 향상: 빠른 검색 및 삽입 속도. 내부적으로 레드-블랙 트리로 구현

기본 사용법

 선언과 초기화

#include <set>

std::set<int> mySet; // 빈 set 선언

 원소 삽입

mySet.insert(42);
mySet.insert(25);
mySet.insert(63);

 원소 제거

mySet.erase(25);

 반복문 활용

for (auto it = mySet.begin(); it != mySet.end(); ++it) {
    std::cout << *it << " ";
}

주요 기능

 검색

auto it = mySet.find(42);
if (it != mySet.end()) {
    std::cout << "원소 찾음: " << *it << std::endl;
} else {
    std::cout << "원소 없음" << std::endl;
}

 원소 개수

std::cout << "원소 개수: " << mySet.size() << std::endl;

 범위 기반 반복

for (const auto& element : mySet) {
    std::cout << element << " ";
}

 활용 예제

#include <iostream>#include <set>int main() {
    std::set<int> mySet = {5, 2, 8, 1, 9, 3};

    std::cout << "Set 내의 원소: ";
    for (const auto& element : mySet) {
        std::cout << element << " ";
    }

    std::cout << "\\nSet 크기: " << mySet.size() << std::endl;

    return 0;
}

관련글 더보기

댓글 영역