海上月是天上月,眼前人是心上人。
随笔分类 - C++ / C++ STL标准模板库
摘要:map/multimap容器 Map的特性是,所有元素都会根据元素的键值自动排序。Map所有的元素都是pair,同时拥有实值和键值,pair的第一个元素被视为键值,第二个元素被视为实值,map不允许两个元素有相同的键值。 multimap和map的操作类似,唯一区别是multimap的键值可以重复。
阅读全文
摘要:set/multiset容器 简介 Set的特性是,所有元素都会根据元素的值自动被排序。Set不允许两个元素有相同的值。 Set的迭代器iterator是一种const_iterator,不能通过迭代器改变任意set元素的值。 multiset的特性和用法和set相同,唯一的差别在于它允许值重复。
阅读全文
摘要:queue容器 基本概念 queue是一种**先进先出的数据结构,它有两个出口,queue容器允许从一端新增元素,从另一端移除元素。 queue容器没有迭代器,所有元素进出都必须符合“先进先出”条件,只有顶端的元素才有机会被外界取用,所以也不提供遍历功能。 queue容器常用操作 构造函数 queu
阅读全文
摘要:stack容器 基本概念 stack是一种先进后出的数据结构,它只有一个出口,形式如下图所示。stack容器允许新增元素,移除元素,取得栈顶元素,但是除了最顶端外,没有任何地方可以存取stack的娶她元素。换句话说,stack不允许有遍历行为。 元素推入栈的操作称为push,将元素推出栈的操作称为p
阅读全文
摘要:string类型操作 字符串切割 str.substr(索引,切割的个数) -> 返回字符串 注意:第二个参数为切割的个数 string buf = "abcdefg"; buf.substr(0, 2); // 结果为 "ab" buf.substr(1, 3); // 结果为 "bcd" 按字符
阅读全文
摘要:list容器 简介 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列节点组成,节点可以在运行时动态生成。每个节点包括两部分:一个是存储数据元素的数据域,另一个是存储下一节点的指针域。 相较于vector的连续线性空间,list就显得复
阅读全文
摘要:deque 容器 deque (读作deck)是“doble-ended-queue”的缩写,和vector一样都是STL的容器 deque是双端数组,而vector是单端 单端与双端:vector 在首部插入数据时,会在末端开辟新位置,然后整体移动过去,而deque在首部插入数据时,能够直接在首部
阅读全文
摘要:STL 基本概念 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。 STL 从广义上讲分为三类:algorithm(算法)、container(容器)和 iterator(迭代器),容器和算法通过迭代器可以进行无缝连接。几乎所有的代码都采用
阅读全文