【发布时间】:2014-12-26 19:48:38
【问题描述】:
#include<iostream>
#include<set>
using namespace std;
set <int> arr;
int main() {
int n, m, tmp;
cin>>n>>m;
for (int i=1; i<=m+n; i++) {
cin>>tmp;
if (tmp!=-1) arr.insert(tmp);
else {
set<int>::iterator it;
it=arr.begin();
cout<<*it<<endl;
arr.erase(arr.begin());
}
}
return 0;
}
所以这个程序实际上输出了集合中存在的最小元素。但是当我用arr.end() 替换arr.begin() 时,我没有得到最大的元素。我需要帮助来了解正在发生的事情以及我应该怎么做才能输出集合中的最大数字
【问题讨论】: