STL——标准模板库学习笔记
文章平均质量分 80
银灵子Qincheng
曾在鹅厂、菊厂体验过生活,目前在猫厂被生活体验。公众号:我的IT技术路。关注我,一起聊聊感兴趣的。
展开
-
STL学习笔记——序列式容器list
由于vector的使用,经常会出现迭代器错误,主要是因为vector在每次更改完数据就会重新配置,迭代器就会失效,list的结构和vector的设计差异决定了list在这方面具有优越性,list的insert和splice操作不会造成迭代器失效,并且erase也只会是让当前元素的迭代器失效。list的结构如下:就是一个双向链表的设计结构templatestruct list_node{原创 2015-10-20 09:30:38 · 267 阅读 · 0 评论 -
标准模板库(六):STL算法函数介绍
1.iter_swap函数:交换两个 ForwardIterator 的值。#include #include#include #include//算法#include#include //定义自己的模板类using namespace std;int main(){ int a[]={1,2,9,4,5,3}; int b[]={2,2,9,5,3,7}; int原创 2015-10-13 10:06:27 · 553 阅读 · 0 评论 -
标准模板库(二):迭代器的理解
迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。迭代器的范围是左闭右开,就是左边能够取到,右边不能取到[v.begin(),v.end());迭代原创 2015-10-12 17:33:52 · 346 阅读 · 0 评论 -
标准模板库(-):介绍标准模板库
标准模板库就是类与函数模板的大集合。STL共有6种组件:容器,容器适配器,迭代器,算法,函数对象和函数适配器。1、容器:容器是用来存储和组织其他对象的对象。STL容器类的模板在标准头文件中定义。1)、序列容器是上面图中的前三类:容器的操作:2)、deque容器:非常类似vector,且支持相同的操作,但是它还可以在转载 2015-10-12 17:16:27 · 1002 阅读 · 0 评论 -
标准模板库(三):STL里面的算法介绍
1.头文件为#include#include//最好加上这个头文件,因为有时要用到2.algorithm 函数表 accumlate : iterator 对标志的序列中的元素之和,加到一个由 init 指定的初始值上。重载的版本不再做加法,而是传进来的二元操作符被应用到元素上。adjacent_different :创建一个新序列,该序列的每个新值都代表了当前元素与上原创 2015-10-12 17:57:04 · 323 阅读 · 0 评论 -
标准模板库(四):STL的算法中的函数介绍
1.accumulate 函数(求和函数)#include #include#include #include//算法#includeusing namespace std;/***三个参数分别是迭代器的开始,迭代器的结束,初值****/int main(){ int a[]={0,1,2,3,4}; int len=sizeof(a)/sizeof(a[0]); vec原创 2015-10-12 18:06:44 · 453 阅读 · 0 评论 -
标准模板库(五):STL算法函数介绍
1.fill函数:(将输入的值的拷贝赋给范围内的每个元素。)#include #include#include #include//算法#include#include //定义自己的模板类//#include using namespace std;int main(){ int a[]={0,1,5,5,-3,6,3}; int b[]={0,5,5,5,-3,6原创 2015-10-13 08:43:08 · 414 阅读 · 0 评论 -
STL学习笔记——序列式容器deque
上一次说了list,现在再看一下序列式容器的另外几种,常用的stack,queue,还有一个deque,这个我不常用,所以先看一下deque的用法:1.deque:vector是单向开口的连续线性空间,list是不连续的空间,支持两边操作,deque是一种双向开口的连续线性空间,支持两边操作。由于deque的操作可以两边进行,所以它没有容量的概念,也不用提供空间保留的功能。但是deque的原创 2015-10-20 10:15:02 · 374 阅读 · 0 评论 -
STL学习笔记——hashtable
这里只是单纯介绍一下标准库中哈希表的学习笔记,不会很详细的介绍哈希表,STL中的关联式容器中最后一部分就是介绍哈希表,这种被称为字典结构的数据结构,在查找,删除,插入操作中,均为“常数平均时间”。标准库中的头文件包括#include,#include还有两个,有些编译器没有,不介绍,当然还是要提一下STL的hash是通过开链法来实现的。先看看hash_table的数据结构:template原创 2015-10-20 16:27:41 · 336 阅读 · 0 评论 -
标准模板库(八):STL算法函数介绍
1.set_difference :构造一个排过序的序列,其中的元素出现在第一个序列中,但是不包含在第二个序列中。(set_intersection :构造一个排过序的序列,其中的元素在两个序列中都存在。)#include #include#include #include//算法#include#include //定义自己的模板类using namespace std;i原创 2015-10-13 15:59:11 · 472 阅读 · 0 评论