我在 C++ 中有以下代码
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> a;
int n;
for(int i=0;i<3;i++){
cin>>n;
a.insert(n);
}
cout << *a.end();
return 0;
}
为什么它总是打印“3”而不是集合中的最大元素?将 cout << *a.end();
替换为 cout << *--a.end();
工作正常。
原文由 Abdullah Shahriar 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于
set<int>s
您也可以使用
*prev(s.end())