C++STL常用操作之multiset篇
阿新 • • 發佈:2021-01-19
C++STL常用操作之multiset篇
簡介:
multiset和set大致上是一樣的,都是集合。
set詳細介紹見:https://blog.csdn.net/qq_45985728/article/details/112791689
multiset和set不同的點在於multiset允許存在重複的元素。
multiset<int> multi;
multi.insert(2);
multi.insert(3);
multi.insert(2);
multi.insert(1);
multi.insert(2);
for (auto it = multi.begin(); it != multi.end(); ++it)
cout << *it << endl;
我們可以看出,multiset裡面,確實是允許重複元素出現的。
multiset<int> multi;
multi.insert(2);
multi.insert(3);
multi.insert(2);
multi.insert(1);
multi.insert(2);
multi.erase(2);
for (auto it = multi.begin(); it != multi. end(); ++it)
cout << *it << endl;
而multiset裡面的erase函式對於指定的key值來說,是刪除所有的等於key值的元素。如上程式中,原始狀態是1、2、2、2、3,但是隻執行了一句erase(2)後,剩餘的元素只有1、3了。
multiset<int> multi;
multi.insert(2);
multi.insert(2);
cout << multi.count(2);
程式輸出結果是2
我們前面set篇提到,count的返回值只能是1或0(存在或者不存在)。由於multiset允許重複元素的出現,所以count的返回值可能大於1。
multiset
發現問題歡迎指正!