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
廣告