C ++ set size()函数用于查找set容器中存在的元素数。
成员类型size_type是无符号整数类型。
size_type size() const; // C++ 11 之前 size_type size() const noexcept; //从 C++ 11开始
没有
它返回集合中存在的元素数。
不变。
没有变化。
容器被访问。
同时访问集合的元素是安全的。
此函数永远不会引发异常。
让我们看一个简单的实例来计算集合的大小:
#include <set> #include <iostream> using namespace std; int main() { set<char> num {'a', 'b', 'c', 'd'}; cout << "num集合包含 " << num.size() << " 元素.\n"; return 0; }
输出:
num集合包含 4 元素.
在上面的示例中,set num集合包含4个元素。因此,size()返回4个元素。
让我们看一个简单的示例来计算集合的初始大小和添加元素后的集合大小:
#include <iostream> #include <set> using namespace std; int main(void) { set<int> m; cout << "set集合的初始大小 = " << m.size() << endl; m = {1,2,3,4,5,6}; cout << "插入元素后集合的大小 = " << m.size() << endl; return 0; }
输出:
set集合的初始大小 = 0 插入元素后集合的大小 = 6
在上面的示例中,第一个集合为空,因此,size()函数将返回0,在插入6个元素后将返回6。
while循环中使用size()函数:
#include <iostream> #include <set> using namespace std; int main () { set<int> myset = {100,200,300,400}; while (myset.size()) { cout << *myset.begin()<< '\n'; myset.erase(myset.begin()); } return 0; }
输出:
100 200 300 400
在上面的示例中,它仅在while循环中使用size()函数并打印set的元素,直到set的大小为止。
让我们看一个示例,根据用户交互输入数来计算集合大小:
#include <iostream> #include <set> #include <string> using namespace std; int main() { typedef set<int> marksSet; int number; marksSet marks; cout<<"输入三组标记: \n"; for(int i =0; i<3; i++) { cin>> number; // 输入号码 marks.insert(number); // 将输入插入集合 } cout<<"\n电话集合大小为:"<< marks.size(); cout<<"\n电话号码列表: \n"; marksSet::iterator p; for(p = marks.begin(); p!=marks.end(); p++) { cout<<(*p)<<" \n "; } return 0; }
输出:
输入三组标记: 78 90 84 电话集合大小为: 3 电话号码列表: 78 84 90
在上面的示例中,程序首先创建交互式设置的标记。然后,它将显示标记集的总大小以及该集合中所有可用的元素。