集是一種關聯容器,其中每個元素都必須是唯一的,因為元素的值可以標識它。盡管可以刪除並添加該元素的修改後的值,但是一旦將元素的值添加到集合中就無法對其進行修改。
set::empty()
empty()函數用於檢查設置的容器是否為空。
用法:
setname.empty() 參數: No parameters are passed. 返回: True, if set is empty False, Otherwise
例子:
Input :myset{1, 2, 3, 4, 5}; myset.empty(); Output:False Input :myset{}; myset.empty(); Output:True
錯誤和異常
1.它沒有異常拋出保證。
2.傳遞參數時顯示錯誤。
// INTEGER SET
// CPP program to illustrate
// Implementation of empty() function
#include <iostream>
#include <set>
using namespace std;
int main()
{
// set declaration
set<int> myset{};
// checking if set is empty
if (myset.empty()) {
cout << "True";
}
else {
cout << "False";
}
return 0;
}
輸出:
True
// CHARACTER SET
// CPP program to illustrate
// Implementation of empty() function
#include <iostream>
#include <set>
using namespace std;
int main()
{
// set declaration
set<char> myset{ 'A', 'b' };
// checking if set is empty
if (myset.empty()) {
cout << "True";
}
else {
cout << "False";
}
輸出:
False
時間複雜度:O(1)
應用:
給定一組整數,找到所有整數的總和。
Input :1, 5, 6, 3, 9, 2 Output:26 Explanation - 1+5+6+3+9+2 = 26
算法
1.檢查集合是否為空,如果沒有,則將第一個元素添加到初始化為0的變量中,然後擦除第一個元素。
2.重複此步驟,直到設置為空。
3.打印變量的最終值。
// CPP program to illustrate
// Application of empty() function
#include<iostream>
#include<set>
using namespace std;
int main()
{
// sum variable declaration
int sum = 0;
// set declaration
set<int> myset{ 1, 5, 6, 3, 9, 2 };
// finding sum of elements
while(!myset.empty()){
sum+= *myset.begin();
myset.erase(myset.begin());
}
// print sum
cout<<sum<<endl;
return 0;
}
輸出:
26
注:本文由純淨天空篩選整理自GeeksforGeeks大神的英文原創作品 set::empty() in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。