一:起因
(0)提到C++ STL,首先被人想到的是它的三大组件:Containers(容器), Iterators(迭代器), Algorithms(算法)。容器为用户提供了常用的数据结构(如,vector,list,deque,stack,map,multimap,set,multiset,外加string),算法大多是独立于容器的常用的基本算法(一般在algorithm头文件中,其中sor...
分类:
其他好文 时间:
2015-01-30 21:07:01
阅读次数:
248
一:起因
(1):set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就 像一个集合一样。所有的操作的都是严格在logn时间之内完成,效率非常高,具体实现采用了红黑树的平衡二叉树的数据结构。
set和multiset的区别是:set插入的元素不能相同,但是multiset可以相同。
创建 multiset base; 删除:如果删除元素a,那么在定义的...
分类:
其他好文 时间:
2015-01-30 15:58:38
阅读次数:
183
二叉搜索树是ACM中经常需要用到的数据结构,熟练掌握map和set的用法很关键,现对其做一个简单的总结。主要的功能有:插入元素,查找元素,删除,遍历/反向遍历。现以map为例说明用法,multimap是可以插入重复键值的元素的map。#include#include#include#include#...
分类:
其他好文 时间:
2015-01-23 22:50:04
阅读次数:
180
C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到容器类了。1、vector 连续存储结构,每个元素在内存上是...
分类:
编程语言 时间:
2015-01-12 22:18:42
阅读次数:
216
题意题解不多说,以前从来不{屑于}写stl,,今天学一学。。我就是来贴一份{banlakeji的}stl模板的。
代码:
#include
#include
#include
#include
#include
#define N 501000
#define inf 0x3f3f3f3f
using namespace std;
int n,m;
int src[N],l...
分类:
其他好文 时间:
2015-01-08 13:28:06
阅读次数:
192
考察以下代码:std::multiset names; //global data structurevoid LogAndAdd(const std::string &name){ auto now = //got...
分类:
编程语言 时间:
2015-01-05 01:49:03
阅读次数:
276
有n个人,每个人有两个属性x,y。如果对于一个人P(x,y) 不存在另外一个人(x',y') 使得x'#include #include using namespace std;struct point{ int x , y ; bool operator S;multiset::iter...
分类:
其他好文 时间:
2015-01-01 19:43:28
阅读次数:
288
C++提供了几种不同的容器供我们选择,这里简单回顾一下:
1、标准STL序列容器:vector、string、deque和list。
2、标准STL关联容器:set、multiset、map、和multimap。
3、非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一“重型”string。
4、非标准关联容器hash_set、hash_multiset、has...
分类:
其他好文 时间:
2014-12-22 09:36:26
阅读次数:
209
STL源码剖析---关联容器
标准关联容器分为set和map两大类,包括multiset和multimap,这些容器的底层机制都是RB-tree.标准之外的关联容器有hashtable 以及以此hash table为底层机制而完成的hash_set(散列集合) hash_map(散列映射表) hash_multiset hash_multimap.
序列和关联容器各自的内部...
分类:
其他好文 时间:
2014-12-09 23:11:43
阅读次数:
465
STL源码剖析—序列容器
对于STL中的容器,存在一定的内含关系,例如,heap内含一个vector,priority-queue内含一个hep,stack和queue都含有一个deque,set/map/multiset/multimap都内含一个RB-tree,hash_x都内含一个hashtable。
对于序列容器来说,vector和list的插入都是在指向迭代器之前进...
分类:
其他好文 时间:
2014-12-08 23:03:18
阅读次数:
273