C++ unordered_set::size() 函数



C++ 的 std::unordered_set::size() 函数用于返回无序集合容器中元素的数量。或者可以说,此函数计算 begin() 和 end() 之间的距离。如果 unordered_set 不包含任何元素,则此函数返回 0。

语法

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

size_type size() const noexcept;

参数

此函数不接受任何参数。

返回值

此函数返回 unordered_set 容器中元素的数量。

示例 1

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

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

int main () {
   std::unordered_set<std::string> myset;
   std::cout << "0. size: " << myset.size() << std::endl;

   myset = {"sairamkrishna","mammahe"};
   std::cout << "1. size: " << myset.size() << std::endl;

   myset.insert ("kittuprasad");
   std::cout << "2. size: " << myset.size() << std::endl;

   myset.erase ("tutorialspoint");
   std::cout << "3. size: " << myset.size() << std::endl;

   return 0;
}

输出

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

0. size: 0
1. size: 2
2. size: 3
3. size: 3

示例 2

让我们来看下面的例子,我们将使用 unordered_set::size() 函数来获取集合的总大小,并显示 myUset 的所有元素。

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

int main () {
   unordered_set<int> myUset = {1, 2, 3, 4, 5};
   int size = myUset.size();
   cout<<"Total size of unordered set: "<<size<<endl;
   cout<<"Each element of the unordered_set: ";
   for(auto it: myUset)
      cout<<it<<" ";
   return 0;
}

输出

以下是上述代码的输出:

Total size of unordered set: 5
Each element of the unordered_set: 5 4 3 2 1

示例 3

在下面的示例中,我们将考虑空的 unordered_set 并应用 unordered_set::size() 函数来获取在插入元素之前和之后 unordered_set 的总大小。

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

int main () {
   unordered_set<int> myUset;
   int size = myUset.size();
   cout<<"Total size of unordered set: "<<size<<endl;
   
   myUset.insert({10, 20, 30});
   int tSize = myUset.size();
   cout<<"Total size of unordered set after insertion: "<<tSize<<endl;
   return 0;
}

输出

上述代码的输出如下:

Total size of unordered set: 0
Total size of unordered set after insertion: 3
广告