STL常见坑——访问SET中最后一个元素
set常用方法:
大家都知道set.begin()访问第一个元素、set.end()访问最后一个元素,似乎没有任何问题
举例:
#include#include #include #include using namespace std; void thirdMax(vector & nums) { set st; sort(nums.begin(),nums.end()); int n=nums.size(); for(auto& it:nums) st.insert(it); for(std::set ::iterator it=st.begin();it!=st.end();++it) cout<<*it<<" "; cout< arr={2,5,4,6,7}; thirdMax(arr); system("pause"); return 0; }
目前,set关联容器获取某一元素,采用迭代器加if判断的方式
int cnt=0;
for(std::set::iterator it=st.begin();it!=st.end();++it)
{
cnt++;
if(cnt==3) return *it;
}



