博客专栏  >  编程语言   >  c++ STL 开发技术导引

c++ STL 开发技术导引

本专栏主要整理记录了c++ STL容器技术,具体介绍了各种容器的原理和应用,并给出测试用例,包括vector、deque、list、set、map、queue、stack等。同时介绍了多种高效算法,包括非变易算法、变易算法等,对各算法给出了实现源码以及用法用例。

关注
4 已关注
18篇博文
  • stl变易算法(三)

    本篇接着前面stl变易算法(一)和stl变易算法(二)继续讲述变易算法。这里将介绍完余下的变易算法,主要有:填充filln次填充fill_n、随机生成元素generate、随机生成n个元素genera...

    2015-07-15 15:39
    945
  • stl变易算法(二)

    本篇接着前篇stl变易算法(一)继续讲述变易算法。主要介绍transform、replace、replace_if、replace_copy以及replace_copy_if的用法及实现代码,并给出测...

    2015-07-14 23:45
    904
  • stl变易算法(一)

    C++ STL的变易算法是一组能够修改容器元素数据的模板函数,可进行序列容器的复制、交换、替换、填充、移除、旋转等。这些算法对迭代器有较高的要求,具体的迭代器类型随各个算法而定,或向前迭代器、或双向迭...

    2015-07-12 22:45
    1073
  • stl非变易算法(二)

    这里接着上篇stl非变易算法(一)进行总结。主要解析算法函数count、count_if、mismatch、equal、search、search_n以及find_end,给出算法函数的实现及测试用例...

    2015-07-12 12:04
    928
  • stl非变易算法(一)

    C++ STL的非变易算法是一组不破坏操作数据的模板函数,用来对序列数据进行逐个处理、元素查找、子序列搜索、统计和匹配。非变易算法具有极为广泛的适用性,基本上可应用于各种容器。本文详细说明算法函数fo...

    2015-07-11 23:45
    1045
  • stl之queue队列容器

    queue队列也是一个线性存储表,元素的数据插入在表的一端进行,在另一端删除,从而构成先进先出表。插入一端为队尾,删除的一端为队首。 由于仅需取队首和队尾元素的操作,因此queue队列容器并不提...

    2015-07-11 11:18
    2612
  • stl之stack容器

    为了严格遵循堆栈数据后进先出原则,stack不提供元素的任何迭代操作,因此stack容器不会向外部提供可用的前向或反向迭代器类型。 头文件#include创建stack对象 stack()...

    2015-07-11 10:39
    1014
  • stl之multimap容器

    multimap与map一样,都是使用红黑树对记录型的元素数据按元素键值的比较关系,进行快速的插入、删除和检索操作,所不同的是multimap允许插入具有重复性键值的元素。 在multimap容器中,...

    2015-07-11 09:48
    1146
  • stl之bit_vector原理及应用

    原理  bit_vector容器具有vector容器一样的成员西数,常用于硬件端口的控制。区别于vector的一个重要特征是bit_vector更节省内存空间,一个元素只占用一个bit ,而不是一个字...

    2015-07-10 23:32
    1741
  • stl之map容器的原理及应用

    容器的数据结构同样是采用红黑树进行管理,插入的元素健位不允许重复,所使用的节点元素的比较函数,只对元素的健值进行比较,元素的各项数据可通过健值检索出来。map容器是一种关联容器,实现了SortedAs...

    2015-07-05 12:21
    5630
  • stl之multiset容器的应用

    与set集合容器一样,multiset多重集合容器也使用红黑树组织元素数据,只是multiset容器允许将重复的元素健值插入,而set容器则不允许。 set容器所使用的C++标准头文件set,其实也是...

    2015-07-04 13:54
    1167
  • stl之set集合容器应用基础

    set集合容器使用一种称为红黑树(Red-Black Tree) 的平衡二叉检索树的数据结构,来组织泛化的元素数据。每个节点包含一个取值红色或黑色的颜色域,以利于进行树的平衡处理。作为节点键值的元素的...

    2015-07-03 19:49
    2047
  • stl之list双向链表容器应用基础

    不同于采用线性表顺序存储结构的vector和deque容器,list双向链表中任一位置的元素差值、插入和删除,都具有高效的常数阶算法时间复杂度O(1)。 头文件 #include 创建list对象 1...

    2015-07-03 15:55
    1093
  • stl之deque双端队列容器

    deque与vector非常相似,不仅可以在尾部插入和删除元素,还可以在头部插入和删除。不过当考虑到容器元素的内存分配策略和操作性能时,deque相对vector较为有优势。 头文件 #include...

    2015-07-03 09:53
    1907
  • stl之string类用法详细总结

    标准c++中String类非常强大,合理使用,能极大提高编程效率,下面就对string类的用法进行总结。 头文件 #include String类的构造函数如下: 1)    string s; //...

    2015-07-02 17:31
    1747
  • 二维 三维 向量vector 定义,初始化

    vector> Arrayleim::centernumber, vector((0,0)));

    2014-04-24 14:42
    7604
  • Vector的用法

    1  使用vector之前必须包含相应的头文件#include  2  vector对象的定义和初始化 vector v1; vector保存类型为T的对象。默认构造函数v1为空。vector v2(...

    2014-03-13 21:58
    974
  • stl之vector的应用

    这里主要是对vector容器的一些常见应用的总结。至于vector的构造函数及初始化可以参考http://blog.csdn.net/lsh_2013/article/details/21191289...

    2015-07-02 21:23
    1289
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部