C++Primer 독서노트(8)
세트 및 다중 세트(set 및 multiset 컨테이너 클래스):
컬렉션(#include
집중에서는 모든 구성원이 배열되어 있다.
하면, 만약, 만약...
이 집합을 출력할 때: 2, 3, 5, 12, 65123
집합과 다집합의 차이는 다음과 같다. set은 유일한 키 값을 지원하고 set의 값은 모두 특정하며 한 번만 나타난다.멀티셋에 던전 키가 나타날 수 있고 같은 값이 여러 번 나타날 수 있다.
Set 및 multiset의 템플릿 매개 변수:
template<class key, class compare, class Allocator=allocator
첫 번째 매개 변수 키는 저장된 키의 유형이고, 두 번째 매개 변수는 정렬 값을 위한 비교 함수의 유형이며, 세 번째 매개 변수는 실현된 저장 분배자의 유형이다.몇몇 컴파일러의 구체적인 실현에서 세 번째 매개 변수는 생략할 수 있다.두 번째 파라미터는 적당한 형식의 교체기를 사용하여 키에 특정한 관계 조작부호를 정의하고 용기에서 값을 반복할 때 순서를 정합니다.집합된 교체기는 양방향이고 상수이기 때문에 교체기가 사용할 때 원소의 값을 수정할 수 없습니다.
Set은 다음과 같은 세 가지 구조 함수를 정의합니다.
기본 구조 함수:
- explicit set(const Compare&=compare());
예:
- set<int,less<int> > set1;
less
- template<class InputIterator> set(InputIterator, InputIterator,\ const Compare&=compare());
예:
- set<int ,less<int> >set2(vector1.begin(),vector1.end());
복제 구조 함수:
- set(const set<Key,Compare&>);
예:
- set<int ,less<int> >set3(set2);
다음은 간단한 세트와 다중 세트의 삽입 루틴을 살펴보겠습니다.
#include<iostream>
#include <set>
#include <map>
using namespace std;
int main(int argv, char **argc)
{
set<int> set1;
for(int i=0; i<10; ++i)
{
set1.insert(i);
}
for(set<int>::iterator p=set1.begin(); p!=set1.end(); ++p)
{
cout<<*p<<" ";
}
cout<<endl;
if(set1.insert(3).second)// 3 set1
// set1.insert(3).second 1, 0
// , 3 ,
{
cout<<"set insert success";
}
else
{
cout<<"set insert failed";
}
int a[] = {4, 1, 1, 1, 1, 1, 0, 5, 1, 0};
multiset<int> A;
A.insert(set1.begin(),set1.end());
A.insert(a, a+10);
cout<<endl;
for(multiset<int>::iterator p=A.begin();p!=A.end();++p)
{
cout<<*p<<" ";
}
return 0;
}
매핑 및 다중 매핑 (map 및 multimap)
매핑 및 다중 매핑(#include
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.