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

C++ STL multiset::empty() 함수 – 개념, 문법과 예제 총정리

이 글에서는 C++ STL에서 multiset::empty() 함수의 동작 방식, 문법 그리고 실제 예제에 대해 자세히 알아보겠습니다.

C++ STL에서 multiset이란?

multiset은 set 컨테이너와 매우 유사한 컨테이너입니다. set처럼 값을 키(key) 형태로 저장하며, 항상 특정한 정렬 순서를 유지한다는 특징이 있습니다.

multiset에서도 set과 마찬가지로 저장된 값이 곧 키로 식별됩니다. 두 컨테이너의 가장 큰 차이점은, set은 중복 없는 고유한 키만 가질 수 있는 반면(즉, 서로 같은 키가 존재할 수 없음), multiset에는 동일한 키 값이 여러 개共存할 수 있다는 점입니다.

또한 multiset의 키 구조는 내부적으로 이진 탐색 트리(binary search tree)를 구현하는 데 활용됩니다.

multiset::empty()란 무엇인가?

multiset::empty() 함수는 C++ STL에 기본으로 포함된 내장 함수로, <set> 헤더 파일에 정의되어 있습니다.

이 함수는 해당 multiset 컨테이너가 비어 있는지 여부를 확인하는 역할을 합니다.

empty()는 연관된 컨테이너의 크기가 0이면 true를 반환하고, 컨테이너에 요소가 하나라도 존재하거나 크기가 0이 아니라면 false를 반환합니다.

문법

ms_name.empty();

매개변수

이 함수는 어떠한 매개변수도 받지 않습니다.

반환 값

컨테이너가 비어 있으면 불리언 값 true를 반환하고, 그렇지 않으면 false를 반환합니다.

예제

입력: std::multiset<int> mymultiset = {1, 2, 2, 3, 4};
    mymultiset.empty();
출력: false

입력: std::multiset<int> mymultiset;
    mymultiset.empty();
출력: true

예제 코드 1

#include <bits/stdc++.h>
using namespace std;
int main() {
    int arr[] = {2, 3, 4, 5};
    multiset<int> check(arr, arr + 4);
    if (check.empty())
       cout <<"The multiset is empty";
    else
       cout << "The multiset isn't empty";
    return 0;
}

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다 −

The multiset isn't empty

예제 코드 2

#include <bits/stdc++.h>
using namespace std;
int main() {
    int arr[] = {};
    multiset<int> check(arr, arr + 0);
    if (check.empty())
       cout <<"The multiset is empty";
    else
       cout << "The multiset isn't empty";
    return 0;
}

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다 −

The multiset is empty