정수형 데이터의 컬렉션 데이터 구조가 있다고 가정해 보겠습니다. 표준 입력에서는 n개의 쿼리를 제공합니다. 각 쿼리(각 행)에는 두 개의 요소가 있습니다. 첫 번째는 연산자이고 두 번째는 요소입니다. 방법은 다음과 같습니다.
삽입. 그러면 요소가 컬렉션에 삽입되고
제거됩니다. 컬렉션에 요소가 있으면 해당 요소가 제거됩니다.
검색. 컬렉션에서 해당 요소를 검색하여 해당 요소가 있으면 "예"를 표시하고 그렇지 않으면 "아니요"를 표시합니다.
따라서 입력이 n = 7과 같은 경우 쿼리 = [[1,5],[1,8],[1,3],[2,8],[1,9], [3 ,8],[3,3]]이면 출력은 [No, Yes]가 됩니다. 왜냐하면 8은 집합에 존재하지 않지만 3은 존재하기 때문입니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다.
이해를 돕기 위해 다음 구현을 살펴보겠습니다. -
#include <iostream> #include <set> using namespace std; int main(){ set<int> s; set<int>::iterator it; int q,x; int qt; cin >> q; while(q--){ cin>>qt>>x; switch(qt){ case 1:s.insert(x); break; case 2:s.erase(x); break; case 3:it=s.find(x); if(it==s.end()) cout<<"No"<<endl; else cout<<"Yes"<<endl; break; } } return 0; }
7 1 5 1 8 1 3 2 8 1 9 3 8 3 3
No Yes
위 내용은 세트 STL에서 삽입, 삭제 및 검색을 위한 C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!