#include <set>
multiset <int> stt (允许有重复元素的set集合)
最小值
cout << *stt.begin();
最大值
auto it = stt.end();
it – ;
cout << *it;
stt.find(x)传入的参数支持数值和指针
#include <iostream>
#include <vector>
#include <set>
using namespace std;
multiset<int> stt;
int main()
{
for (int i = 1; i <= 5; i ++ )
{
stt.insert(10 - i);
}
stt.insert(7);
for (auto &c : stt) cout << c <<' ';
cout << endl;
int x;
while (cin >> x)
{
// stt.erase(x); // 删除在stt中的所有值为x的元素
// stt.erase(*stt.find(x));
// 上面两式子相等
/*
输入:
5
8
7
输出:
5 6 7 7 8 9
6 7 7 8 9
6 7 7 9
6 9
*/
// stt.erase(stt.find(x));
// 删除一个值为x的元素,stt.find(x)返回一个指针类型的地址,*stt.find(x)为值
// 防止删除过多元素
/*
输入:
5
8
7
输出:
5 6 7 7 8 9
6 7 7 8 9
6 7 7 9
6 7 9
*/
for (auto &c : stt) cout << c <<' ';
cout << endl;
}
return 0;
}