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

C++ set max_size() 使用方法及示例

C++ Set (ensemble) STL

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;
}

Sortie :

 “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;
}

Sortie :

该集合包含1000个元素。

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

实例3

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

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

Sortie :

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家庭的总成员是: " << fmly.size();
      cout << "\n家庭成员姓名: \n";
      cout << "\n姓名 \n  ________________________\n";
      city::iterator p;
      for(p = fmly.begin(); p != fmly.end(); p++)}}
      {
          cout << (*p << " \n \
      }
    
   return 0;
}

Sortie :

Entrer le nombre de membres de la famille:5
Entrer le nom de chaque membre:
Zhang San
Zhang Si
Li Si
Wang Wu
Li Ma Zi
Ensemble du nombre total de la ville: 97612893
Le nombre total des membres de la famille est:5
Nom des membres de la famille:
Nom
 ________________________
Li Ma Zi
 Li Si
 Wang Wu
 Zhang San
 Zhang Si

Dans l'exemple ci-dessus, le programme crée d'abord de manière interactive un ensemble de villes avec une taille donnée. Ensuite, il affiche la taille totale d'un groupe de villes, la taille totale d'une petite ville et tous les noms disponibles dans ce groupe ainsi que leurs âges.

C++ Set (ensemble) STL