#include <iostream>#include <string>#include <set>using namespace std;int main(int argc, char const *argv[]){set<int> vowel;vowel.insert(‘a‘);vowel.insert(‘e‘);vowel.insert(‘i‘);vowel.insert(‘o‘);vowel.insert(‘u‘);vowel.insert(‘A‘);vowel.insert(‘E‘);vowel.insert(‘I‘);vowel.insert(‘O‘);vowel.insert(‘U‘);string str; cin>>str;string item;string::iterator rIt ;for (rIt = str.begin(); rIt != str.end(); ++rIt){if (vowel.find(*rIt) == vowel.end()){item = *rIt;str.erase(rIt);str+="-"+item+"ay";cout<<str;break;}}return 0;}
begin() ,返回set容器的第一个元素
end() ,返回set容器的最后一个元素
clear() ,删除set容器中的所有的元素
empty() ,判断set容器是否为空
max_size() ,返回set容器可能包含的元素最大个数
size() ,返回当前set容器中的元素个数
rbegin ,返回的值和end()相同
rend() ,返回的值和rbegin()相同
如下:
#include <iostream>#include <set>using namespace std;int main(){set<int> s;s.insert(1);s.insert(2);s.insert(3);s.insert(1);cout<<"set 中 1 出现的次数是 :"<<s.count(1)<<endl;cout<<"set 中 4 出现的次数是 :"<<s.count(4)<<endl;return 0;}
#include <iostream>#include <set>using namespace std;int main(){set<int> s;s.insert(1);s.insert(2);s.insert(3);s.insert(1);cout<<"set 中 1 出现的次数是 :"<<s.count(1)<<endl;cout<<"set 中 4 出现的次数是 :"<<s.count(4)<<endl;return 0;}
#include <iostream>#include <set>using namespace std;int main(){set<int> s;set<int>::iterator iter;for(int i = 1 ; i <= 5; ++i){s.insert(i);}for(iter = s.begin() ; iter != s.end() ; ++iter){cout<<*iter<<" ";}cout<<endl;pair<set<int>::const_iterator,set<int>::const_iterator> pr;pr = s.equal_range(3);cout<<"第一个大于等于 3 的数是 :"<<*pr.first<<endl;cout<<"第一个大于 3的数是 : "<<*pr.second<<endl;return 0;}
erase(first,second),删除定位器first和second之间的值
erase(key_value),删除键值key_value的值
#include <iostream>#include <set>using namespace std;int main(){set<int> s;set<int>::const_iterator iter;set<int>::iterator first;set<int>::iterator second;for(int i = 1 ; i <= 10 ; ++i){s.insert(i);}//第一种删除s.erase(s.begin());//第二种删除first = s.begin();second = s.begin();second++;second++;s.erase(first,second);//第三种删除s.erase(8);cout<<"删除后 set 中元素是 :";for(iter = s.begin() ; iter != s.end() ; ++iter){cout<<*iter<<" ";}cout<<endl;return 0;}
#include <iostream>#include <set>using namespace std;int main(){int a[] = {1,2,3};set<int> s(a,a+3);set<int>::iterator iter;if((iter = s.find(2)) != s.end()){cout<<*iter<<endl;}return 0;}
insert(key_value); 将key_value插入到set中 ,返回值是pair<set<int>::iterator,bool>,bool标志着插入是否成功,而iterator代表插入的位置,若key_value已经在set中,则iterator表示的key_value在set中的位置。
inset(first,second);将定位器first到second之间的元素插入到set中,返回值是void.
#include <iostream>#include <set>using namespace std;int main(){int a[] = {1,2,3};set<int> s;set<int>::iterator iter;s.insert(a,a+3);for(iter = s.begin() ; iter != s.end() ; ++iter){cout<<*iter<<" ";}cout<<endl;pair<set<int>::iterator,bool> pr;pr = s.insert(5);if(pr.second){cout<<*pr.first<<endl;}return 0;}
lower_bound(key_value) ,返回第一个大于等于key_value的定位器
upper_bound(key_value),返回最后一个大于等于key_value的定位器
#include <iostream>#include <set>using namespace std;int main(){set<int> s;s.insert(1);s.insert(3);s.insert(4);cout<<*s.lower_bound(2)<<endl;cout<<*s.lower_bound(3)<<endl;cout<<*s.upper_bound(3)<<endl;return 0;}
原文:http://www.cnblogs.com/clifff/p/5038854.html