C++中使用stl的set和hash_set
2012-12-26 16:21
309 查看
set的使用:
hash_set (在Dev C++ 和Linux记得加上 using namespace __gnu_cxx; ):
#include<iostream> #include<set> #include<string> #include<iterator> #include<algorithm>//set_union() using namespace std; void main(){ string s1[3]={"aaa","bbb","ccc"}; string s2[3]={"bbb","ddd","eee"}; set<string> sa(s1,s1+3);//申明一个set集合,元素为数组s1 set<string> sb(s2,s2+3);//申明一个set集合,元素为数组s2 set<string> sc;//申明一个空set集合 cout<<"输出sa的元素:"; copy(sa.begin(),sa.end(),ostream_iterator<string>(cout," ")); cout<<"\n\n输出sb的元素:"; copy(sb.begin(),sb.end(),ostream_iterator<string>(cout," ")); cout<<"\n\n输出sa和sb的并集:"; set_union(sa.begin(),sa.end(),sb.begin(),sb.end(),ostream_iterator<string>(cout," ")); cout<<"\n\n输出sa和sb的交集:"; set_intersection(sa.begin(),sa.end(),sb.begin(),sb.end(),ostream_iterator<string>(cout," ")); cout<<"\n\n输出sa-sb:"; set_difference(sa.begin(),sa.end(),sb.begin(),sb.end(),ostream_iterator<string>(cout," ")); cout<<"\n\n输出sb-sa:"; set_difference(sb.begin(),sb.end(),sa.begin(),sa.end(),ostream_iterator<string>(cout," ")); set_union(sa.begin(),sa.end(),sb.begin(),sb.end(),insert_iterator<set<string>>(sc,sc.begin())); sc.insert("fff"); copy(sc.begin(),sc.end(),ostream_iterator<string>(cout," ")); cout<<endl; cout<<"\n输出处理后的sc:"; copy(sc.lower_bound("ddd"),sc.upper_bound("fff"),ostream_iterator<string>(cout," ")); cout<<endl<<endl; }
hash_set (在Dev C++ 和Linux记得加上 using namespace __gnu_cxx; ):
#include<iostream> #include<string> #include<iterator> #include<algorithm> #include<hash_set> #include<windows.h> using namespace std; void main(){ const int N= 3; int s1 ={1,2,3}; int s2 ={4,5,6}; hash_set<int>sa(s1,s1+N);//申明一个集合sa,元素为数组s1 hash_set<int>sb(s2,s2+N);//申明一个集合sb,元素为数组s2 hash_set<int> sc;//申明一个集合sc,为空集合 ostream_iterator<int> output(cout," "); cout<<"输出集合sa的元素:"; copy(sa.begin(),sa.end(),output); cout<<"\n\n输出集合sb的元素:"; copy(sb.begin(),sb.end(),output); cout<<endl; system("pause"); }
相关文章推荐
- linux c++ stl hash_map basic_string 使用
- C/C++--STL中list,vector,deque,map,set区别、联系和使用场景
- C++ STL中set和multiset的使用方法
- C++ STL入门教程(6)——set(集合)的使用(附完整程序代码)
- linux下C++ STL hash_map的使用以及使用char *型变量作为Key值的一大“坑”
- C++中防止STL中迭代器失效__map/set等关联容器vector/list/deque等序列容器_如何防止迭代器失效_即erase()的使用
- c++ stl 使用汇总(string,vector,map,set)
- C++的STL中集合(set)的使用说明
- stl中hash_set的使用
- c++ STL hash_map 使用
- C++中防止STL中迭代器失效__map/set等关联容器vector/list/deque等序列容器_如何防止迭代器失效_即erase()的使用
- C++ STL容器的使用方法(vector、queue、list、set、map)
- c++ STL中的set和multiset的使用
- C++ 标准模板库STL set 使用方法与应用介绍(一)
- C++学习 STL之set使用方法小结
- C++中防止STL中迭代器失效——map/set等关联容器——vector/list/deque等序列容器—如何防止迭代器失效—即erase()的使用
- C++ 标准模板库STL set 使用方法与应用介绍(二)
- C/C++--STL中list,vector,deque,map,set区别、联系和使用场景
- C++ STL容器的学习使用(vector、queue、list、set、map)
- C++中防止STL中迭代器失效——map/set等关联容器——vector/list/deque等序列容器—如何防止迭代器失效—即erase()的使用