C++의 세트
설정(설정)
— 추가된 요소를 오름차순으로 자동 정렬하는 컨테이너입니다. 그러나 동일한 값을 추가할 때 set
는 하나의 인스턴스만 저장합니다(multiset
- multiset- 중복을 포함할 수 있음). 세트에 새 요소가 추가되면 정렬 순서를 위반하지 않도록 즉시 제자리에 들어갑니다.
C++의 세트는 set(multiset)
클래스를 통해 STL
표준 템플릿 라이브러리에서 정의됩니다.
세트는 이진 레드-블랙 트리입니다. 검색, 삭제 및 삽입 작업은 대수적 복잡성을 가집니다.
세트를 사용하려면 “
set
” 라이브러리를 포함해야 합니다.
#include <세트>
세트 선언:
set<int> mySet; // 빈 집합을 선언합니다.
multiset mySet; // 빈 다중 집합을 선언합니다.
세트(세트) 작업을 위한 기능
empty()
- 컨테이너에 요소가 없는지 확인
size()
- 컨테이너의 요소 수를 반환합니다.
clear()
- 컨테이너를 지웁니다
insert()
- 요소 삽입
erase()
- 요소 제거
count()
- 주어진 키와 일치하는 요소의 수를 반환합니다.
find()
- 특정 키를 가진 요소 찾기
lower_bound()
- 주어진 값보다 작지 않은 첫 번째 요소에 대한 반복자를 반환합니다.
upper_bound()
- 지정된 값보다 큰 첫 번째 요소에 대한 반복자를 반환합니다.
<사업부>
세트 및 멀티세트 예시
#include <iostream>
#include <세트>
네임스페이스 표준 사용;
정수 메인()
{
set<int> mySet1; // 공집합 선언
multiset mySet2; // 빈 다중 집합 선언
// 세트에 요소 추가
mySet1.삽입(1);
mySet1.insert(2);
mySet1.insert(3);
mySet1.삽입(1);
// multiset에 요소 추가
mySet2.insert(1);
mySet2.insert(2);
mySet2.insert(3);
mySet2.insert(1);
set::iterator it; //이터레이터 생성
for(it = mySet1.begin(); it != mySet1.end(); it++) { // 모든 요소 표시
cout << (*it) << " " // 설정
}
cout << 끝;
for(it = mySet2.begin(); it != mySet2.end(); it++) { // 모든 요소 출력
cout << (*it) << " " // 멀티셋
}
0을 반환합니다.
}