English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ empty()函数的作用是:检查集合容器是否为空。如果集合容器为空(size为0),则返回true,否则返回false。
bool empty() const; //直到 C++ 11 bool empty const noexcept; //从 C++ 11 开始
没有
它返回真如果设定的容器是空的(大小为0),否则返回假。
不变。
没有变化。
容器被访问。
同时访问set的元素是安全的。
此函数永远不会引发异常。
让我们看一个简单的示例,以检查集合是否包含任何元素:
#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.
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.
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.
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.