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

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

C++ Set (ensemble) STL

C ++ empty()函数的作用是:检查集合容器是否为空。如果集合容器为空(size为0),则返回true,否则返回false。

语法

bool empty() const;               // 直到 C++ 11
bool empty const noexcept;    //从 C++ 11 开始

参数

没有

返回值

它返回如果设定的容器是空的(大小为0),否则返回

复杂

不变。

迭代器有效性

没有变化。

数据争用

容器被访问。

同时访问set的元素是安全的。

异常安全

此函数永远不会引发异常。

Exemple1

让我们看一个简单的示例,以检查集合是否包含任何元素:

#include <set>
#include <iostream>
using namespace std;
int main()
{
    set<int> numbers;
    cout << "最初, numbers.empty(): " << numbers.empty() << "\n";
    numbers = {100, 200, 300};
    cout << "\n Après avoir ajouté un élément, numbers.empty(): " << numbers.empty() << "\n";
}

Sortie :

 Au début, numbers.empty(): 1
Après avoir ajouté un élément, numbers.empty(): 0

Dans l'exemple ci-dessus, la taille initiale du set est de 0, donc la fonction empty() retourne1(true),retourne 0(false)après avoir ajouté un élément.

Exemple2

Laissez-nous voir un exemple simple pour vérifier si le set est vide :

#include <iostream>
#include <set>
using namespace std;
int main(void) {
   set<char> s;
   if (s.empty())
      cout << "Le ensemble est vide. " << endl;
   s = {100};
   if (!s.empty())
      cout << "Le ensemble n'est pas vide. " << endl;
   return 0;
}

Sortie :

Le ensemble est vide.
Le ensemble n'est pas vide.

Dans l'exemple ci-dessus, il utilise l'instruction conditionnelle if. Si le set est vide, il retourne le set vide après avoir ajouté un élément; si le set est vide, il retourne le set non vide après avoir ajouté un élément.

Exemple3

Laissez-nous voir un exemple simple :

#include <iostream>
#include <set>
using namespace std;
int main ()
{
  set<int> myset;
  myset = {100, 200, 300};
  while (!myset.empty())
  {
    cout << *myset.begin() << '\n';
    myset.erase(*myset.begin());
  }
  return 0;
}

Sortie :

100
200
300

Dans l'exemple ci-dessus, il utilise la fonction empty() dans la boucle while pour afficher les éléments du set jusqu'à ce que le set ne soit plus vide.

Exemple4

Laissez-nous voir un exemple simple :

#include <iostream>
#include <set>
#include <string>
using namespace std;
int main() {
  typedef set<int> phoneSet;
   
   int number;
   phoneSet phone;
   
   if (phone.empty())
      cout << "Le ensemble est vide. Veuillez insérer du contenu ! \n" << endl;
   
   cout << "Entrez trois groupes de nombres: \n";
   
   for (int i = 0; i <3; i++)
   {
       cin >> number;    // Obtenir la valeur
       phone.insert(number);   //Insérer des données dans set
   }
   if (!phone.empty())
   {
      cout << "\nListe des numéros de téléphone: \n";
      phoneSet::iterator p;
      for(p = phone.begin(); p!=phone.end(); p++)
      {
          cout << (*p << " \n \";
      }
   }
   return 0;
}

Sortie :

L'ensemble est vide. Veuillez insérer du contenu !
 
Entrez trois ensembles de nombres: 
1111
5555
3333
Liste des numéros de téléphone: 
1111 
3333 
5555

Dans l'exemple ci-dessus, le programme crée d'abord un téléphone en utilisant trois ensembles de nombres interagissant, puis vérifie si le téléphone est vide. Si l'ensemble est vide, affichez un message, sinon, affichez tous les numéros de téléphone disponibles dans l'ensemble.

C++ Set (ensemble) STL