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

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

Set (insieme) STL C++

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

语法

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

参数

没有

返回值

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

复杂

不变。

迭代器有效性

没有变化。

数据争用

容器被访问。

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

异常安全

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

实例1

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

#include <set>
#include <iostream>
using namespace std;
int main()
{
    set<int> numbers;
    cout << "   最初,numbers.empty(): " << numbers.empty() << "\n";
    numbers = {100, 200, 300};
    cout << '\n' << "Dopo aver aggiunto l'elemento, numbers.empty(): " << numbers.empty() << '\n';
}

Output:

 All'inizio, numbers.empty(): 1
Dopo aver aggiunto l'elemento, numbers.empty(): 0

Nell'esempio sopra, la dimensione iniziale del set è 0, quindi la funzione empty() restituisce 1 (true) e 0 (false) dopo aver aggiunto l'elemento.

Esempio 2

Vediamo un esempio semplice per verificare se il set è vuoto:

#include <iostream>
#include <set>
using namespace std;
int main(void) {
   set<char> s;
   if (s.empty())
      cout << "Il set è vuoto." << endl;
   s = {100};
   if (!s.empty())
      cout << "Il set non è vuoto." << endl;
   return 0;
}

Output:

Il set è vuoto.
Il set non è vuoto.

Nell'esempio sopra, viene utilizzata la condizione if. Se il set è vuoto, viene restituito il set come vuoto; se il set è vuoto, viene restituito il set non vuoto dopo aver aggiunto l'elemento.

Esempio 3

Vediamo un esempio semplice:

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

Output:

100
200
300

Nell'esempio sopra, la funzione empty() è utilizzata solo nel ciclo while per stampare gli elementi del set fino a quando il set non è vuoto.

Esempio 4

Vediamo un esempio semplice:

#include <iostream>
#include <set>
#include <string>
using namespace std;
int main() {
  typedef set<int> phoneSet;
   
   int number;
   phoneSet phone;
   
   se (phone.empty())
      cout << "Il set è vuoto. Inserisci contenuti! \n" << endl;
   
   cout << "Inserisci tre gruppi di numeri: \n";
   
   for (int i = 0; i < 3; i++)
   {
       cin >> number; // ottieni valore
       phone.insert(number); // inserisci dati nel set
   }
   se (!phone.empty())
   {
      cout << "\nElenco di numeri di telefono: \n";
      phoneSet::iterator p;
      for(p = phone.begin(); p!=phone.end(); p++)
      {
          cout << (*p) << " \n ";
      }
   }
   return 0;
}

Output:

L'insieme è vuoto. Inserisci del contenuto!
 
Inserisci tre gruppi di numeri: 
1111
5555
3333
Elenco di numeri di telefono: 
1111 
3333 
5555

Nell'esempio sopra, il programma crea prima un telefono con tre gruppi di numeri interattivi, quindi verifica se il telefono è vuoto. Se l'insieme è vuoto, visualizza un messaggio, altrimenti visualizza tutti i numeri di telefono disponibili nell'insieme.

Set (insieme) STL C++