English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ set max_size() 사용 방법 및 예제

C++ STL Set(집합)

C ++ max_size()셋의 컨테이너가 저장할 수 있는 최대 크기를 가져오는 함수입니다。

문법

멤버 타입size_type무符号整数类型입니다。

size_type max_size() const;               // C++ 11 이전
size_type max_size() const noexcept;    //C++ 11시작

파라미터

없습니다

반환 값

그것은 셋의 컨테이너의 최대 허용 길이를 반환합니다。

複잡합니다。

불변합니다。

이터레이터 유효성

변경이 없습니다。

데이터 경쟁

컨테이너가 접근됩니다。

셋의 요소에 동시에 접근은 안전합니다。

안전한 예외 처리

이 멤버 함수는 예외를 발생시키지 않습니다。

实例1

쉬운 예제를 통해 셋의 최대 크기를 계산해 보겠습니다:

#include <iostream>
#include <set>
using namespace std;
 
int main()
{
    set<char, char> s;
    cout << "“set集合”의 최대 크기는 " << s.max_size() << "\n";
    return 0;
}

출력:

 “set集合”的最大大小为268435455

在上面的示例中,max_size()函数返回集合的最大大小。

实例2

让我们看一个简单的实例:

#include <iostream>
#include <set>
using namespace std;
int main ()
{
  int i;
  set<int> myset;
  if (myset.max_size()>1000)
  {
    for (i = 0; i <1000; i++) myset.insert(0);
    cout << "该集合包含1000个元素。\n";
  }
  else cout << "该集合不能容纳1000个元素。\n";
  return 0;
}

출력:

该集合包含1000个元素。

在上面的示例中,成员max_size用于预先检查该集合是否允许插入1000个元素。

实例3

让我们看一个简单的示例,查找一个空集和一个非空集的最大大小:

#include <set>
#include <iostream>
using namespace std;
 
int main()
{
 
    // 初始化容器
    set<int> mp1, mp2;
    mp1 , mp1111;
 
    // = {
    };1cout << "\nmp的最大大小为\" << mp1.max_size();
 
    // cout << "mp的非空集的最大大小
    cout << "\nmp的最大空集大小2cout << "\nmp的最大大小为\" << mp2.max_size();
    return 0;
}

출력:

mp1的最大大小为 214748364
mp2的最大大小为 214748364

在上面的示例中,有两组集合,即mp1和mp2。mp1是一个非空集,mp2是一个空集。但是两组的最大大小是相同的。

实例4

让我们看一个简单的实例:

#include <iostream>
#include <set>
#include <string>
using namespace std;
int main() {
  typedef set<string> city;  
   string name;
   city fmly;
   int n;
   cout << "输入家庭成员的数量:\
   cin >> n;
   cout << "输入每个成员的姓名: \n";
   for(int i = 0; i < n; i++)}}
   {
       cin >> name;      
       fmly.insert(name);   // 将姓名插入集合
   }
   
      cout << "\n城市总人口数集: \" << fmly.max_size();
      cout << "\n家庭的总成员是:\
      cout << "\n家庭成员姓名: \n";
      cout << "\n姓名 \n ________________________\n";
      city::iterator p;
      for(p = fmly.begin(); p != fmly.end(); p++)}}
      {
          cout << (*p << " \n ";
      }
    
   return 0;
}

출력:

가족 구성원 수를 입력하세요 :5
각 구성원의 이름을 입력하세요:
장삼
장시
이사
왕오
이마자
도시 전체 인구 수 집합: 97612893
가족의 총 구성원은:5
가족 구성원 이름:
이름
 ________________________
이마자
 이사
 왕오
 장삼
 장시

위의 예제에서 프로그램은 먼저 주어진 크기로 상호작용하여 도시 집합을 생성합니다. 그런 다음, 그 그룹이 포함할 수 있는 총 크기, 작은 도시의 총 크기 그리고 그 그룹에 있는 모든 이름 및 나이를 표시합니다.

C++ STL Set(집합)