当前位置: 首页 > news >正文

湛江企业自助建站网站dns

湛江企业自助建站,网站dns,东莞seo托管,上海网站制作全包目录 ​#x1f4a1;STL #x1f4a1;STL六大组件 #x1f4a1;三大组件介绍 #x1f4a1;容器 #x1f4a1;算法 #x1f4a1;迭代器 #x1f4a1;示例 #x1f4a1;STL C STL#xff08;标准模板库#xff09;是一套功能强大的 C 模板类#xff0c;提供了… 目录 ​STL STL六大组件 三大组件介绍 容器 算法 迭代器 示例 STL C STL标准模板库是一套功能强大的 C 模板类提供了通用的模板类和函数这些模板类和函数可以实现多种流行和常用的算法和数据结构如向量、链表、队列、栈。 STL 从广义上分为: 容器(container) 算法(algorithm) 迭代器(iterator)。 容器和算法之间通过迭代器进行无缝连接。STL 几乎所有的代码都采用了模板类或者模板函数这相比传统的由函数和类组成的库来说提供了更好的代码重用机会。 STL六大组件 STL大体分为六大组件分别是容器、算法、迭代器、仿函数、适配器配接器、空间配置器。 容器各种数据结构如vector、list、deque、set、map等,用来存放数据从实现角度来看STL容器是一种class template。 算法各种常用的算法如sort、find、copy、for_each。从实现的角度来看STL算法是一种function tempalte. 迭代器扮演了容器与算法之间的胶合剂共有五种类型从实现角度来看迭代器是一种将operator* , operator- , operator,operator–等指针相关操作予以重载的class template. 所有STL容器都附带有自己专属的迭代器只有容器的设计者才知道如何遍历自己的元素。原生指针(native pointer)也是一种迭代器。 仿函数行为类似函数可作为算法的某种策略。从实现角度来看仿函数是一种重载了operator()的class 或者class template 适配器(配接器)一种用来修饰容器或者仿函数或迭代器接口的东西。 空间配置器负责空间的配置与管理。从实现角度看配置器是一个实现了动态空间配置、空间管理、空间释放的class tempalte. STL六大组件的交互关系容器通过空间配置器取得数据存储空间算法通过迭代器存储容器中的内容仿函数可以协助算法完成不同的策略的变化适配器可以修饰仿函数。 三大组件介绍 容器 几乎可以说任何特定的数据结构都是为了实现某种特定的算法。STL容器就是将运用最广泛的一些数据结构实现出来。常用的数据结构数组(array) , 链表(list), tree(树)栈(stack), 队列(queue), 集合(set),映射表(map), 根据数据在容器中的排列特性这些数据分为序列式容器和关联式容器两种。 序列式容器强调值的排序序列式容器中的每个元素均有固定的位置除非用删除或插入的操作改变这个位置。Vector容器、Deque容器、List容器等。关联式容器是非线性的树结构更准确的说是二叉树结构。各元素之间没有严格的物理上的顺序关系也就是说元素在容器中并没有保存元素置入容器时的逻辑顺序。关联式容器另一个显著特点是在值中选择一个值作为关键字key这个关键字对值起到索引的作用方便查找。Set/multiset容器 Map/multimap容器 算法 算法就是问题的解法以有限的步骤解决逻辑或数学上的问题。 我们所编写的每个程序都是一个算法其中的每个函数也都是一个算法毕竟它们都是用来解决或大或小的逻辑问题或数学问题。STL收录的算法经过了数学上的效能分析与证明是极具复用价值的包括常用的排序查找等等。特定的算法往往搭配特定的数据结构算法与数据结构相辅相成。 算法分为: 质变算法和非质变算法。 质变算法是指运算过程中会更改区间内的元素的内容。例如拷贝替换删除等等非质变算法是指运算过程中不会更改区间内的元素内容例如查找、计数、遍历、寻找极值等等 迭代器 迭代器(iterator)是一种抽象的设计概念现实程序语言中并没有直接对应于这个概念的实物。迭代器是容器和算法之间的粘合剂算法通过迭代器访问容器。 在Design Patterns一书中提供了23种设计模式的完整描述 其中iterator模式定义如下提供一种方法使之能够依序寻访某个容器所含的各个元素而又无需暴露该容器的内部表示方式。 迭代器的设计思维-STL的关键所在STL的中心思想在于将容器(container)和算法(algorithms)分开彼此独立设计最后再一贴胶着剂将他们撮合在一起。 迭代器提供一种方法使之能够依序寻访某个容器所含的各个元素而又无需暴露该容器的内部表示方式每个容器都有自己专属的迭代器 迭代器使用非常类似于指针初学阶段我们可以先理解迭代器为指针 示例 #define _CRT_SECURE_NO_WARNINGS #includeiostream #includevector #includealgorithm using namespace std;//STL 中的容器 算法 迭代器 void test01(){vectorint v; //STL 中的标准容器之一 动态数组v.push_back(1); //vector 容器提供的插入数据的方法v.push_back(5);v.push_back(3);v.push_back(7);//迭代器vectorint::iterator pStart v.begin(); //vector 容器提供了 begin()方法 返回指向第一个元素的迭代器vectorint::iterator pEnd v.end(); //vector 容器提供了 end()方法 返回指向最后一个元素下一个位置的迭代器//通过迭代器遍历while (pStart ! pEnd){cout *pStart ;pStart;}cout endl;//算法 count 算法 用于统计元素的个数int n count(pStart, pEnd, 5);cout n: n endl; } //STL 容器不单单可以存储基础数据类型也可以存储类对象 class Teacher { public:Teacher(int age) :age(age){};~Teacher(){}; public:int age; }; void test02(){vectorTeacher v; //存储 Teacher 类型数据的容器Teacher t1(10), t2(20), t3(30);v.push_back(t1);v.push_back(t2);v.push_back(t3);vectorTeacher::iterator pStart v.begin();vectorTeacher::iterator pEnd v.end();//通过迭代器遍历while (pStart ! pEnd){cout pStart-age ;pStart;}cout endl; } //存储 Teacher 类型指针 void test03(){vectorTeacher* v; //存储 Teacher 类型指针Teacher* t1 new Teacher(10);Teacher* t2 new Teacher(20);Teacher* t3 new Teacher(30);v.push_back(t1);v.push_back(t2);v.push_back(t3);//拿到容器迭代器vectorTeacher*::iterator pStart v.begin();vectorTeacher*::iterator pEnd v.end();//通过迭代器遍历while (pStart ! pEnd){cout (*pStart)-age ;pStart;}cout endl; } //容器嵌套容器 难点 void test04() {vector vectorint v;vectorintv1;vectorintv2;vectorintv3;for (int i 0; i 5;i){v1.push_back(i);v2.push_back(i * 10);v3.push_back(i * 100);}v.push_back(v1);v.push_back(v2);v.push_back(v3);for (vector vectorint ::iterator it v.begin(); it ! v.end();it){for (vectorint::iterator subIt (*it).begin(); subIt ! (*it).end(); subIt ){cout *subIt ;}cout endl;} } int main(){//test01();//test02();//test03();test04();system(pause);return EXIT_SUCCESS; }
http://www.dnsts.com.cn/news/250541.html

相关文章:

  • 网站开发费用可否计入无形资产徐老师在那个网站做发视频
  • 网站设计论文的摘要微商城系统开发
  • 保定建设局网站网站底部留言代码
  • 天津网站制作报价全面的聊城网站建设
  • 以蓝色为主色调的网站原创网站开发流程
  • 河池环江网站建设上海企业网站建站模板
  • 青岛需要做网站的公司设计师个人网站模板
  • 网站建设 会员可以看的内容更多中国材料价格网
  • 企业网站诊断与优化方案重庆招聘网
  • 山东胜越石化工程建设有限公司网站国外贸易网站
  • 营销型网站建设服务商可以直接进入网站的正能量连接
  • 住房建设部网站监理员网站目标规划
  • 勾线外包网站大鹏手机网站建设
  • 网站建设安全与威胁企业网查询是什么
  • 网站建设公司扬州什么建设网站
  • 自己制作网站该怎么做大型网站建设规范
  • 42区 网站开发指南网站建设项目进度计划书
  • 做的好的食用菌公司网站有贸易公司logo设计
  • 好的做蛋糕网站网络营销赚钱
  • 东莞外贸企业做网站福田网站建设论文结论
  • 有关互联网网站xampp wordpress 慢
  • server 2008 架设网站群晖安装多个wordpress
  • 高密公司做网站外贸企业的网站建设
  • 网站流量查询 优帮云做网站登入见面
  • 网页制作与网站建设技术大全 pdf网站不换域名换空间
  • 做杂志的网站有哪些网页设计国外设计欣赏网站
  • 网站的备案号网站建设需要的文案
  • 公司网站建设开发ftp查看网站后台密码
  • 广州网站建设第一公司网站愉建设
  • 服务器搭建网站打不开网站特色怎么写