C ++ set size()函數(shù)用于查找set容器中存在的元素?cái)?shù)。
成員類(lèi)型size_type是無(wú)符號(hào)整數(shù)類(lèi)型。
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ù)用戶(hù)交互輸入數(shù)來(lái)計(jì)算集合大?。?/p>
#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)記集的總大小以及該集合中所有可用的元素。