SET 是个有序表!他会根据INSERT的数值自动排序!

SET里面不可能出现相同的元素!SET在insert的时候会排重的!

SET本质上是一种树结构,在检索上比链表快,插入比数组方便,但是不允许重复!

(1)

set_difference(MyTestContain.begin(),MyTestContain.end(),MyTestContain2.begin(),MyTestContain2.end(),
                   insert_iterator<set<string> >(MyTestContain3,MyTestContain3.begin())
                   );

insert_iterator<set<string> >

<string> 后面的空格一定要打!

insert_iterator<set<string> >(MyTestContain3,MyTestContain3.begin()) 只能这么将合并后的集合插入新的集合!

(2)lowerbound 和 upperbond

copy(MyTestContain3.lower_bound("a"),MyTestContain3.upper_bound("u"),myout);

剔除<"u" 和>="a" 的。。。。。???半包围!

(3) 访问元素:

MyPairSet::iterator pr;
cout<<endl<<"MyPairSet:"<<endl;
for(pr=MyPairContain.begin();pr!=MyPairContain.end();pr++)
{
MyPair Pr2(*pr);                //特别注意这句话:MyPairSet::iterator 和 MyPairSet * 是不能互相转换的,但是他们的*都是MyPairSet ,所以不能把迭代器转换为指针,只能取内容以后转换为元素。
cout<<Pr2.first<<"_"<<Pr2.second<<" ;";

}

(4) 搜索元素: 和上面一样,返回迭代器

MyPair Pr3;
Pr3=MyPair(*MyPairContain.find(Pr2));
cout<<Pr3.first<<"_"<<Pr3.second;

(5) equal_range  定位器

第一个 >= 给定关键字的元素

第一个 > 给定关键字的元素

pair <MyPairSet::const_iterator ,MyPairSet::const_iterator> IterPair;

MyPair ps=*MyPairContain.begin();

IterPair=MyPairContain.equal_range(ps);

cout<<endl<<"the pair is"<<endl;

cout<<((MyPair)(* (IterPair.first))).first<<"_"<<((MyPair)(* (IterPair.first))).second<<endl;

cout<<((MyPair)(* (IterPair.second))).first<<"_"<<((MyPair)(* (IterPair.second))).second<<endl;

容器 set的更多相关文章

  1. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  2. 网页提交中文到WEB容器的经历了些什么过程....

    先准备一个网页 <html><meta http-equiv="Content-Type" content="text/html; charset=gb ...

  3. [Spring]IoC容器之进击的注解

    先啰嗦两句: 第一次在博客园使用markdown编辑,感觉渲染样式差强人意,还是github的样式比较顺眼. 概述 Spring2.5 引入了注解. 于是,一个问题产生了:使用注解方式注入 JavaB ...

  4. 深入理解DIP、IoC、DI以及IoC容器

    摘要 面向对象设计(OOD)有助于我们开发出高性能.易扩展以及易复用的程序.其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC.DI以及Ioc容器等概念.通过本文我们将一起学 ...

  5. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境

    首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...

  6. JS判断鼠标进入容器方向的方法和分析window.open新窗口被拦截的问题

    1.鼠标进入容器方向的判定 判断鼠标从哪个方向进入元素容器是一个经常碰到的问题,如何来判断呢?首先想到的是:获取鼠标的位置,然后经过一大堆的if..else逻辑来确定.这样的做法比较繁琐,下面介绍两种 ...

  7. docker4dotnet #2 容器化主机

    .NET 猿自从认识了小鲸鱼,感觉功力大增.上篇<docker4dotnet #1 前世今生&世界你好>中给大家介绍了如何在Windows上面配置Docker for Window ...

  8. 深入分析Spring 与 Spring MVC容器

    1 Spring MVC WEB配置 Spring Framework本身没有Web功能,Spring MVC使用WebApplicationContext类扩展ApplicationContext, ...

  9. Set容器--HashSet集合

    Set容器特点: ①   Set容器是一个不包含重复元素的Collection,并且最多包含一个null元素,它和List容器相反,Set容器不能保证其元素的顺序; ②   最常用的两个Set接口的实 ...

  10. 深入理解Spring--动手实现一个简单的SpringIOC容器

    接触Spring快半年了,前段时间刚用Spring4+S2H4做完了自己的毕设,但是很明显感觉对Spring尤其是IOC容器的实现原理理解的不到位,说白了,就是仅仅停留在会用的阶段,有一颗想读源码的心 ...

随机推荐

  1. 转:SetWindowText 的用法

    SetWindowText   函数功能:该函数改变指定窗口的标题栏的文本内容(如果窗口有标题栏).如果指定窗口是一个控件,则改变控件的文本内容.然而,SetWindowText函数不改变其他应用程序 ...

  2. clone database and rename

    使用 management studio right click database -> Tasks -> Generate Scripts -> next until " ...

  3. MFC新婚之夜(笑昏,大概是指MFC的人固步自封)

    请问学会MFC都要学些什么呢?DOC-VIEW,OLE,UI线程,泵,钩,还是堆,栈内存分配与回收的机制?还是那些各种各样的CHAR,还是__cdecl, __stdcall,PASCAL等等,或者编 ...

  4. HDU 2187 A sequence of numbers

    题目连接  http://acm.hdu.edu.cn/showproblem.php?pid=2817 题意: 给定三个数,判断是等差数列还是等比数列,然后输出第k项. 做法:直接判断即可 #inc ...

  5. build/core/base_rules.mk:195: already define

    编译错误: build/core/base_rules.mk:195: *** packages/apps/ScanDemo: MODULE.TARGET.APPS.ScanDemo already ...

  6. Power(int base, int exponent) 函数实现

    这个是个高效的算法,时间复杂度为 O(logn) 原理: a的n次方: #include<iostream> #include<cmath> using namespace s ...

  7. javaweb笔记1之入门

    1 web应用的目录结构 web的根目录自定义 其中可以包括静态资源(html,image,css,js) |-WEB-INF(注意格式就是这样,大小写等等一模一样) |-class:存放的是字节码文 ...

  8. 【C#多线程】C#多线程 Thread 开发基础

    引用 using System; using System.Threading; 多线程代码 Thread mainthread = new Thread(ExecuteThread); mainth ...

  9. android避免decodeResource图片时占用太大的内存

    增加largeHeap="true"属性. android:largeHeap Whether your application's processes should be cre ...

  10. Linux 与 BSD 有什么不同?

    Linux 与 BSD 有什么不同? 这篇文章是别人写的,并做了一点修改. 汉澳sinox就是基于bsd开发的,因此能够理解为一个bsd分支,可是由于sinox不开源,被排除在外.bsd不是商业软件, ...