set中的end()作用是返回一个迭代器,该迭代器位于集合的最后一个元素的旁边
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
set<int>s;
s.insert(2);
s.insert(4);
s.insert(6);
set<int>::iterator it=s.end();
while(!s.empty())
{
for(set<int>::iterator it1=s.begin();it1!=s.end();it1++)
{
cout<<*it1<<" ";
}
cout<<endl;
s.erase(--it);
it=s.end();
}
return 0;
}
或者
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
set<int>s;
s.insert(2);
s.insert(4);
s.insert(6);
//set<int>::iterator it=s.end();
while(!s.empty())
{
for(set<int>::iterator it1=s.begin();it1!=s.end();it1++)
{
cout<<*it1<<" ";
}
cout<<endl;
s.erase(--s.end());
//it=s.end();
}
return 0;
}