STL set简单代码

来源:互联网 发布:网络黑凤梨有关论文 编辑:程序博客网 时间:2024/05/12 15:45
set 的优点缺点,可以直接找到很多。

这里只是用于set的快速使用的简单代码。用法在代码中用注释写明。

#include<iostream>#include<set>#include<stdlib.h>#include<iterator>#include<algorithm>using namespace std;int main(){set <int> eg1;eg1.insert(1);eg1.insert(20);eg1.insert(15);eg1.insert(1);set<int>::iterator set_iter = eg1.begin() ;for(;set_iter != eg1.end() ;set_iter++){cout << *set_iter << endl;}// 观察到元素有序且不重复cout << "eg1 的长度 :"<<eg1.size() << endl; if(eg1.find(15) != eg1.end()) {//find 函数如果找不到就返回end()处的迭代器;如果找到//就返回元素位置的迭代器 cout << *eg1.find(15) << endl; }elsecout << "not find\n";set <int> eg2;for(int i = 0;i < 5;i++){eg2.insert(rand() % 20);}set<int> ::iterator eg2_iter = eg2.begin();for(;eg2_iter != eg2.end();eg2_iter++){cout << *eg2_iter << endl;} cout << "交集并集\n"; set<int>eg3;set_intersection(eg1.begin(),eg1.end(),eg2.begin(),eg2.end(),insert_iterator<set<int> >(eg3,eg3.begin()));copy(eg3.begin(),eg3.end(),ostream_iterator<int>(cout," "));//copy 函数 和 ostream_iterator cout << endl;//差集 set_difference;交集 set_intersection //insert_iterator<set<int> >(eg3,eg3.begin()) 为插入迭代器eg3.clear(); set_union(eg1.begin(), eg1.end(), eg2.begin(), eg2.end(), inserter(eg3, eg3.begin())); copy(eg3.begin(),eg3.end(),ostream_iterator<int>(cout," "));} 

希望对大家有用

1 0
原创粉丝点击