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

凡网站建设私密浏览器免费

凡网站建设,私密浏览器免费,局域网下怎么访问自己做的网站,wordpress文章字体颜色STL的概念 什么是STL? STL(standard template libaray-标准模板库)#xff1a;是C标准库的重要组成部分#xff0c;不仅是一个可复用的组件库#xff0c;而且 是一个包罗数据结构与算法的软件框架。 STL从广义上分为#xff1a;容器(container)#xff0c;算法(algorit…STL的概念 什么是STL? STL(standard template libaray-标准模板库)是C标准库的重要组成部分不仅是一个可复用的组件库而且 是一个包罗数据结构与算法的软件框架。 STL从广义上分为容器(container)算法(algorithm)迭代器(iterator),容器和算法之间通过迭代器进行无缝连接。STL几乎所有的代码都采用了模板类或者模板函数这相比传统的由函数和类组成的库来说提供了更好的代码重用机会。STL(Standard Template Library)标准模板库在我们c标准库中隶属于STL的占到了80%。 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容器都附带有自己专属的迭代器只有容器的设计者才知道如何遍历自己的元素。原生指针也是一种迭代器。仿函数行为类似函数可作为算哒的某种策略。从实现角度来看仿函数是一种重载了operator()的class或者class template适配器一种用来修饰容器或者仿函数或迭代器接口的东西空间配置器负责空间的配置与管理。从实现角度看配置器是一个实现了动态空间配置空间管理空间释放的class template STL六大组件的交互关系容器通过空间配置器取得数据存储空间算法通过迭代器存储容器中得内容仿函数可以协助算法完成不同的策略的变化适配器可以修饰仿函数。 STL的优点 STL是c的一部分因此不用额外安装什么它被内建在你的编译器之内。STL的一个重要特征是将数据和操作分离。数据由容器类别加以管理操作则由可定制的算法定义。迭代器在两者之间充当“粘合剂”以使算法可以和容器交互运作程序员可以不用思考STL具体的实现过程只要能够熟练使用STL就OK了。这样他们就可以把精力放在程序开放的别的方面STL具有高可重用性高性能高移植性跨平台的优点 高可重用性 STL中几乎所有的代码都采用了模板类和模板函数的方式实现这相比传统的由函数和类组成的库来说提供了更好的代码重用机会。 高性能如map可以高效地从十万条记录里面查找指定的记录因为map是采用红黑树的变体实现的 高移植性性如在项目A上用STL编写的模块可以直接移植到项目B上 三大组件 容器 常用的数据结构数组array链表listtree树栈stac队列queue集合set映射表map根据数据在容器中的排列特性这些数据分为序列式容器和关联式容器两种 序列式容器强调值得排序序列式容器中得每个元素均有固定得位置除非用删除或插入得操作改变这个位置。Vector容器Deque容器List容器等。关联式容器是非线性得数结构更准确得说是二叉树结构各元素之间没有严格的物理上得顺序关系也就是说元素在容器中并没有保存元素置入容器时的逻辑顺序关联式容器另一个显著特点是在值中选择一个值作为关键字key这个关键字对值起到索引的作用方便查找。Set/multiset容器-Map/mulitimap容器 算法 广义而言我们所编写的每个程序都是一个算法其中的每个函数也是一个算法毕竟它们都是用来解决或大或小的逻辑问题或数学问题。STL收录的算法经过了数学上的效能分析与证明是极具复用价值的包括常用的排序查找等等。特定的算法往往搭配特定的数据结构算法与数据结构相辅相成。 3. 算法分为质变算法和非质变算法 4. 质变算法是指运算过程中会更改区间内的元素的内容。例如拷贝替换删除等等 5. 非质变算法是指运算过程中不会更改区间内的元素内容例如查找计数遍历寻找极值 再好的编程也无法让一个笨拙的算法起死回生。 迭代器 依次寻访某个容器所含的各个元素 #includeiostream #includestring using namespace std; #includevector //使用系统算法的头文件 #includealgorithm//容器 vector//迭代器 遍历功能 用指针理解 //普通的指针也算一种指针 void test01() {int array[5] { 1, 3, 5, 7, 8 };int * p array;//指针指向数组首地址 array[0]for (int i 0; i 5; i){//cout array[i] endl;cout *(p) endl;}}void myPrint(int v) {cout v endl; }void test02() {//声明容器vectorintv;//声明一个容器 这个容器中存放int类型数据 对象名称//向容器中加入数据v.push_back(10);v.push_back(20);v.push_back(30);v.push_back(40);//遍历容器中的数据//利用迭代器vectorint ::iterator itBegin v.begin();//itBegin指向是v容器的起始位置vectorint ::iterator itEnd v.end();//itEnd指向容器中最后一个位置的下一个地址/*while (itBegin!itEnd){cout *itBegin endl;itBegin;}*///第二种遍历方式//for (int i 0; i 10; i)/*for (vectorint::iterator it v.begin(); it ! v.end();it){cout *it endl;}*///第三种方式 利用算法for_each(v.begin(), v.end(), myPrint);}//操作自定义 的数据类型 class Person { public:Person(string name,int age){this-m_Name name;this-m_Age age;}string m_Name;int m_Age; };void test03() {vectorPerson v;Person p1(大头儿子,10);Person p2(小头爸爸, 30);Person p3(隔壁王叔叔, 30);Person p4(围裙妈妈, 28);v.push_back(p1);v.push_back(p2);v.push_back(p3);v.push_back(p4);//遍历for (vectorPerson::iterator it v.begin(); it ! v.end(); it){cout 姓名 (*it).m_Name 年龄 it-m_Age endl;}}//存放自定义数据类型的指针 void test04() {vectorPerson *v;Person p1(大头儿子, 10);Person p2(小头爸爸, 30);Person p3(隔壁王叔叔, 30);Person p4(围裙妈妈, 28);v.push_back(p1);v.push_back(p2);v.push_back(p3);v.push_back(p4);for (vectorPerson*::iterator it v.begin(); it ! v.end(); it){cout 姓名 (*it)-m_Name 年龄 (*it)-m_Age endl;} }//容器嵌套容器 void test05() {vectorvectorintv;vectorintv1;vectorint v2;vectorint v3;for (int i 0; i 5; i){v1.push_back(i);v2.push_back(i 100);v3.push_back(i 100);}//将小容器放入到大容器中v.push_back(v1);v.push_back(v2);v.push_back(v3);//遍历所有数据for (vectorvectorint::iterator it v.begin(); it ! v.end(); it){for (vectorint::iterator vit (*it).begin(); vit ! (*it).end(); vit){cout *vit ;}cout endl;} }int main() {//test01();//test02();//test03();//test04();test05();system(pause);return 0; }
http://www.pierceye.com/news/47995/

相关文章:

  • 帮网站做关键词排名优化什么是搜索引擎优化?
  • 东坑做网站安徽 电子政务网站定制
  • 做网站需要相机吗恭城网站建设
  • 锡林郭勒盟建设局网站手机网站 底部菜单
  • 自己怎么免费做网站网站开发国外研究状况
  • 上传网站步骤企业管理包括哪些管理
  • 网站规划建设与管理维护第二版答案厦门旅游集团网站建设
  • 虚拟网站官网软件技术是干什么的
  • 常州兼职网站建设建视频网站
  • 网络舆情监测适合女生嘛做网站优化有必要
  • 网站开发语言查看建设的比较好的档案馆网站
  • 济南建网站要如何引流推广产品
  • 扁平化设计网站建设成都建设银行合作装修网站
  • 做网站的详细步骤上海做网站服务商
  • 陕西网站制作定制服务器镜像wordpress
  • 建立网站用什么软件为什么是in the wordpress
  • 徐州集团网站建设方案wordpress中的template
  • 东莞市网站建设系统企业上海奉贤网站建设
  • 上海虹口网站建设公司全国做临期进口食品的网站
  • 做配音任务的网站佛山专业网站设计方案
  • 自己做微信团购小程序seo搜索引擎优化课程总结
  • ppt模板免费下载网站有哪些网页微信版官网登录仅传输文件
  • 如何用虚拟主机做网站中国软文网
  • 马鞍山 做网站聚名网抢注
  • 四川建设人才网站wordpress html结尾
  • 设计素材网站大全网站自己做视频网站犯法
  • 钛钢饰品网站建设怎么做运营网站
  • 自助网站建设系统源码企业网址怎么注册
  • wordpress官方网站广告公司简介及制作经验
  • 网站推广在哪些平台做外链互联网公司排名情况