C ++ set size()函數(shù)用于查找set容器中存在的元素?cái)?shù)。
成員類型size_type是無(wú)符號(hào)整數(shù)類型。
size_type size() const; // C++ 11 之前 size_type size() const noexcept; //從 C++ 11開(kāi)始
沒(méi)有
它返回集合中存在的元素?cái)?shù)。
不變。
沒(méi)有變化。
容器被訪問(wèn)。
同時(shí)訪問(wèn)集合的元素是安全的。
此函數(shù)永遠(yuǎn)不會(huì)引發(fā)異常。
讓我們看一個(gè)簡(jiǎn)單的實(shí)例來(lái)計(jì)算集合的大?。?/p>
#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個(gè)元素。因此,size()返回4個(gè)元素。
讓我們看一個(gè)簡(jiǎn)單的示例來(lái)計(jì)算集合的初始大小和添加元素后的集合大?。?/p>
#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
在上面的示例中,第一個(gè)集合為空,因此,size()函數(shù)將返回0,在插入6個(gè)元素后將返回6。
while循環(huán)中使用size()函數(shù):
#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循環(huán)中使用size()函數(shù)并打印set的元素,直到set的大小為止。
讓我們看一個(gè)示例,根據(jù)用戶交互輸入數(shù)來(lái)計(jì)算集合大小:
#include <iostream>
#include <set>
#include <string>
using namespace std;
int main() {
typedef set<int> marksSet;
int number;
marksSet marks;
cout<<"輸入三組標(biāo)記: \n";
for(int i =0; i<3; i++)
{
cin>> number; // 輸入號(hào)碼
marks.insert(number); // 將輸入插入集合
}
cout<<"\n電話集合大小為:"<< marks.size();
cout<<"\n電話號(hào)碼列表: \n";
marksSet::iterator p;
for(p = marks.begin(); p!=marks.end(); p++)
{
cout<<(*p)<<" \n ";
}
return 0;
}輸出:
輸入三組標(biāo)記: 78 90 84 電話集合大小為: 3 電話號(hào)碼列表: 78 84 90
在上面的示例中,程序首先創(chuàng)建交互式設(shè)置的標(biāo)記。然后,它將顯示標(biāo)記集的總大小以及該集合中所有可用的元素。