Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ STL의 set::begin()과 set::end() 함수 완벽 정리

set::begin() 함수는 양방향 반복자(bidirectional iterator)로서, 셋(set) 컨테이너의 첫 번째 요소를 가리키는 반복자를 반환하는 데 사용됩니다.

set::end() 함수 역시 양방향 반복자로서, 셋 컨테이너의 마지막 요소 다음 위치(끝 표시)를 가리키는 반복자를 반환합니다. 따라서 begin()과 end()를 함께 사용하면 셋에 저장된 모든 요소를 처음부터 끝까지 순회할 수 있습니다.

참고로 C++의 set은 내부적으로 요소를 항상 오름차순으로 자동 정렬하므로, 삽입한 순서와 무관하게 begin()부터 end()까지 순회하면 정렬된 값이 출력됩니다.

예제 코드

#include<iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
    set<int> s;
    set<int>::iterator it;
    s.insert(7);
    s.insert(6);
    s.insert(1);
    s.insert(4);
    s.insert(2);
    s.insert(9);
    s.insert(10);
    for (auto it=s.begin(); it != s.end(); ++it)
        cout << ' ' << *it;
    return 0;
}

실행 결과

1 2 4 6 7 9 10