集是一种关联容器,其中每个元素都必须是唯一的,因为元素的值可以标识它。尽管可以删除并添加该元素的修改后的值,但是一旦将元素的值添加到集合中就无法对其进行修改。
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。