Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ STL의 다중 집합 begin() 및 end() 함수

<시간/>

이 기사에서는 C++ STL에서 multiset::begin() 및 multiset::end() 함수의 작동, 구문 및 예제에 대해 논의할 것입니다.

C++ STL의 다중 집합이란 무엇입니까?

다중 집합은 집합 컨테이너와 유사한 컨테이너입니다. 즉, 집합과 동일한 키 형식으로 값을 특정 순서로 저장합니다.

다중 집합에서 값은 집합과 동일한 키로 식별됩니다. 다중 집합과 집합의 주요 차이점은 집합에 고유한 키가 있다는 것입니다. 즉, 두 개의 키가 동일하지 않으며 다중 집합에는 동일한 키 값이 있을 수 있습니다.

다중 집합 키는 이진 검색 트리를 구현하는 데 사용됩니다.

multiset::begin()이란 무엇입니까?

multiset::begin() 함수는 헤더 파일

에 정의된 C++ STL의 내장 함수입니다.

이 함수는 다중 집합 컨테이너의 첫 번째 요소를 가리키는 반복자를 반환합니다.

다중 집합 컨테이너는 값을 오름차순으로 저장하므로 begin()은 정렬 기준에 따라 컨테이너의 첫 번째 요소인 요소를 가리킵니다.

구문

ms_name.begin();

매개변수

함수는 매개변수를 허용하지 않습니다.

반환 값

이 함수는 연결된 다중 집합 컨테이너의 첫 번째 요소를 가리키는 반복자를 반환합니다.

예시

Input: std::multiset<int> mymultiset = {1, 2, 2, 3, 4};
   mymultiset.begin();
Output: 1

예시

#include <bits/stdc++.h>
using namespace std;
int main() {
   int arr[] = {2, 4, 1, 3, 8, 5, 6};
   multiset<int> check(arr, arr + 7);
   cout<<"List is : ";
   for (auto i = check.begin(); i != check.end(); i++)
      cout << *i << " ";
   cout<<"\nStarting Element is : "<<*(check.begin());
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

List is : 1 2 3 4 5 6 8
Starting Element is : 1

다중 집합이란::end()

multiset::end() 함수는 헤더 파일에 정의된 C++ STL의 내장 함수입니다.

이 함수는 다중 집합 컨테이너에서 과거에서 끝 위치를 가리키는 반복자를 반환합니다.

과거에서 끝까지 요소는 다중 집합 컨테이너의 마지막 요소 다음에 오는 요소입니다. 간단히 말해서 다중 집합 컨테이너의 특정 요소를 가리키지 않습니다. 이 함수는 일반적으로 다중 집합 컨테이너의 범위를 지정하기 위해 begin()과 함께 사용됩니다.

구문

ms_name.end();

매개변수

함수는 매개변수를 허용하지 않습니다.

반환 값

이 함수는 연결된 다중 집합 컨테이너의 끝 요소를 지나 가리키는 반복자를 반환합니다.

예시

Input: std::multiset<int> mymultiset = {1, 2, 2, 3, 4};
   for( std::multiset<int>::iterator it=mymultiset.begin(); it!=mymultiset.end(); ++it )
Output: 1 2 2 3 4

예시

#include <bits/stdc++.h>
using namespace std;
int main() {
   int arr[] = {2, 4, 1, 3, 8, 5, 6};
   multiset<int> check(arr, arr + 7);
   cout<<"List is : ";
   for (auto i = check.begin(); i != check.end(); i++)
      cout << *i << " ";
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

List is : 1 2 3 4 5 6 8