阅读程序(2)


*Copyright (c) 2014,烟台大学计算机学院

*All right reserved.

*文件名称:test.cpp

*作    者:韩双志

*完成日期:2016年6月20日

*版本号:v1.0

*

*问题描述:set用法

*输入描述:无

*输出描述:输出set的用法

/*

#include <algorithm>
#include<set>
#include<iterator>
#include<iostream>
using namespace std;
int main()
{
    set<int>eg1;
//插入
    eg1.insert(1);
    eg1.insert(100);
    eg1.insert(5);
    eg1.insert(1);//元素1因为已经存在所以set中不会再次插入1
    eg1.insert(10);
    eg1.insert(9);
//遍历set,可以发现元素是有序的
    set<int>::iterator set_iter=eg1.begin();
    cout<<"Set named eg1:"<<endl;
    for(; set_iter!=eg1.end(); set_iter++)
        cout<<*set_iter<<" ";
    cout<<endl;
//使用size()函数可以获得当前元素个数
    cout<<"Now there are "<<eg1.size()<<" elements in the set eg1"<<endl;
    if(eg1.find(200)==eg1.end())//find()函数可以查找元素是否存在
        cout<<"200 isn't in the set eg1"<<endl;

    set<int>eg2;
    for(int i=6; i<15; i++)
        eg2.insert(i);
    cout<<"Set named eg2:"<<endl;
    for(set_iter=eg2.begin(); set_iter!=eg2.end(); set_iter++)
        cout<<*set_iter<<" ";
    cout<<endl;
//获得两个set的并
    set<int>eg3;
    cout<<"Union:";
    set_union(eg1.begin(),eg1.end(),eg2.begin(),eg2.end(),
              insert_iterator<set<int> >(eg3,eg3.begin()));//注意第五个参数的形式
    copy(eg3.begin(),eg3.end(),ostream_iterator<int>(cout," "));
    cout<<endl;
//获得两个set的交,注意进行集合操作之前接收结果的set要调用clear()函数清空一下
    eg3.clear();
    set_intersection(eg1.begin(),eg1.end(),eg2.begin(),eg2.end(),insert_iterator<set<int> >(eg3,eg3.begin()));
    cout<<"Intersection:";
    copy(eg3.begin(),eg3.end(),ostream_iterator<int>(cout," "));
    cout<<endl;
//获得两个set的差
    eg3.clear();
    set_difference(eg1.begin(),eg1.end(),eg2.begin(),eg2.end(),insert_iterator<set<int> >(eg3,eg3.begin()));
    cout<<"Difference:";
    copy(eg3.begin(),eg3.end(),ostream_iterator<int>(cout," "));
    cout<<endl;
//获得两个set的对称差,也就是假设两个集合分别为A和B那么对称差为AUB-A∩B
    eg3.clear();
    set_symmetric_difference(eg1.begin(),eg1.end(),eg2.begin(),eg2.end(),insert_iterator<set<int> >(eg3,eg3.begin()));
    copy(eg3.begin(),eg3.end(),ostream_iterator<int>(cout," "));
    cout<<endl;
    return 0;
}

*/

运行结果:

知识点总结

    set的用法

学习心得

   需要在努力

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值