2026/5/20 16:46:08
网站建设
项目流程
网站建设空间主机的选择,网站建设演示ppt模板下载,如何做微信小程序步骤,深圳网站建设忧化1. STL#xff08;standard Template Library#xff09;标准模板库广义#xff1a;容器#xff0c;算法#xff0c;迭代器 【容器和算法 之间 通过迭代器无缝衔接】STL几乎所有的代码都采用了模板类或者模板函数细分六大组件#xff1a;容器、算法、迭代器、仿函数、…1. STLstandard Template Library标准模板库广义容器算法迭代器 【容器和算法 之间 通过迭代器无缝衔接】STL几乎所有的代码都采用了模板类或者模板函数细分六大组件容器、算法、迭代器、仿函数、适配器(配接器)、空间配置器1.1容器序列式容器强调值的排序序列式容器中的每个元素均有固定的位置关联式容器二叉树结构各元素之间没有严格的物理上的顺序关系1.2算法algorithm质变算法运算过程中会更改区间内的元素的内容例如拷贝替换删除非质变算法运算过程中不会更改区间内的元素的内容例如查找、计数1.3迭代器每个容器有自己专属的迭代器。迭代器使用类似于指针五种输入、输出、前向、双向、随机访问迭代器这两个常用2.具体例子容器vector 算法for_each 迭代器vectorint::iterator可自定义容器数据内容内部数据为结构体vectorPerson v;容器内部再嵌套容器 vector vector int v;3.string4.vector迭代器iterator数据结构和数组非常相似也称为单端数组区别vector可以动态扩展 → 找新的更大的空间原数据拷贝是否原空间常用begin() 第一个元素end() 最后一个元素再往后一位5.deque迭代器const_iterator双端数组可以对头端进行插入删除操作与vector的区别%vector对于头部的插入删除效率低数据量越大效率越低%deque对头部的插入删除速度比vector快%访问元素时的速度会比deque快6.stack先进后出的数据结构只有一种出口不允许有遍历行为栈可以为空栈可以返回元素个数入栈push 出栈pop7.queue先进先出有两个出口入队push出队pop允许从一端新增数据从另一端移除数据只有队头和队尾才能被外界使用因此不允许有遍历行为8.list链表迭代器只支持前移和后移一个一个找属于双向迭代器功能将数据进行链式储存链表是一种物理存储单元上非连续的存储结构数据元素的逻辑顺序是通过链表中的指针链接实现的。组成链表由一系列结点组成。结点一个是存储数据元素的数据域另一个是存储下一个结点地址的指针域。STL中的链表是一个双向循环链表双向每一个结点即记录了下一个节点又记录了上一个节点循环第一个节点的前 记录了最后一个节点 最后一个节点的后 记录了第一个节点9.set/multiset插入时自动排序set不允许有重复的元素multiset运行有重复的元素10 pair对组创建功能成对出现的数据利用对组可以返回两个数据两种创建方式pairtype, typep (value1, value2);pairtype, type p make_pair( value1, value2);11.map/multimap简介所有元素都是pair对组pair第一个元素为key键值起索引作用第二个元素为value实值所有元素都会根据元素的键值自动排序关联式容器二叉树实现可通过key快速找到valuemap不允许有重复的key值multimap允许有重复的key值构造mapint, int m; m.insert(partint , int(1,10));