C++ unordered_set::empty() 函数



C++ 的std::unordered_set::empty() 函数用于返回一个布尔值,指示 unordered_set 容器是否为空。

如果 unordered_set 为空,则 begin() 等于 end(),并且 empty() 函数返回 true;否则,它返回 false。

语法

以下是 std::unordered_set::empty 的语法。

bool empty() const noexcept;

参数

此函数不接受任何参数。

返回值

如果容器大小为 0,则此函数返回 true,否则返回 false。

示例 1

考虑以下示例,我们将演示 unordered_set::empty() 函数的使用。

#include <iostream>
#include <string>
#include <unordered_set>

int main () {
   std::unordered_set<std::string> first = {"sairam","krishna","mammahe"};
   std::unordered_set<std::string> second;
   std::cout << "first " << (first.empty() ? "is empty" : "is not empty" ) << std::endl;
   std::cout << "second " << (second.empty() ? "is empty" : "is not empty" ) << std::endl;
   return 0;
}

输出

让我们编译并运行上述程序,这将产生以下结果:

first is not empty
second is empty

示例 2

让我们看一下下面的示例,我们将使用 empty() 函数检查 unordered_set 是否为空。

#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;

int main () {
   unordered_set<string> uSet;
   if(uSet.empty()==1){
      cout<<boolalpha;
      cout<<"Is unordered_set empty? "<<uSet.empty()<<endl;
   } else{
      cout<<"unordered_set contains following elements: "<<endl;
      for(auto it: uSet)
         cout<<it<<endl;
   }
   return 0;
}

输出

如果我们运行上述代码,它将生成以下输出:

Is unordered_set empty? true

示例 3

在以下示例中,我们将使用 empty() 函数检查 unordered_set 是否为空,如果它包含元素,则显示 unordered_set 的内容。

#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;

int main () {
   unordered_set<int> uSet{10, 20, 30, 40, 50};
   if(uSet.empty()==1){
      cout<<boolalpha;
      cout<<"Is unordered_set empty? "<<uSet.empty()<<endl;
   } else{
      cout<<"unordered_set contains following elements: "<<endl;
      for(auto it: uSet)
         cout<<it<<endl;
   }
   return 0;
}

输出

以下是上述代码的输出:

unordered_set contains following elements: 
50
40
30
20
10

示例 4

以下是 empty() 函数用法的另一个示例,并在布尔值中显示结果。

#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;

int main () {
   unordered_set<string> uSet;
   
   cout<<boolalpha;
   cout<<"boolean value before the insertion of elements: "<<endl;
   cout<<"Is unordered_set empty? "<<uSet.empty()<<endl;
   uSet.insert("tutorix");
   uSet.insert("tutorialspoint");
   cout<<"boolean value after the insertion of elements: "<<endl;
   cout<<"Is unordered_set empty? "<<uSet.empty()<<endl;
   
   return 0;
}

输出

上述代码的输出如下:

boolean value before the insertion of elements: 
Is unordered_set empty? true
boolean value after the insertion of elements: 
Is unordered_set empty? false
广告