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

dede手机网站开发app应用下载网站源码

dede手机网站开发,app应用下载网站源码,区域名查询,新品发布会主题容器分为三类#xff0c;顺序容器#xff0c;关联容器和适配器。顺序容器又分为连续的容器#xff08;vector#xff0c;array#xff09;#xff0c;顺序容器中的离散容器#xff08;list#xff0c;slist#xff0c;forward_list#xff09;#xff0c;离连形的de…        容器分为三类顺序容器关联容器和适配器。顺序容器又分为连续的容器vectorarray顺序容器中的离散容器listslistforward_list离连形的deque关联容器有setmapmutilsetmutilmap以及用哈希表实现的unordered_setunordered_map。 1.顺序容器 连续型 第一个也是最常用的vectorvector元素存放都是连续的vector开辟内存是以2的倍数增长还有一个特点就是只能从尾部添加元素。这两个特点使vector具有以下性质 适用于可以快速随机查找在尾部增加删除元素的情况 vectorint a; //常用操作a.push_back();//在尾部插入元素a.front(); //第一个元素a.back();//最后一个元素a.size(); //当前a在内存中有多少个元素a.capacity();//实际在内存中开辟了多少元素2的倍数增加a.size();a.empty();离散型 list我们所熟知的双向链表可以在双端进行插入删除不支持随机访问适用于频繁插入删除的情况。 list还有一个值得注意的点list内部封装了sort排序一般来说在排序的时候如果容器内部有sort优先采用容器内部的排序函数而不采用algorithm库中的排序。 常用操作 .size(); .front(); .back(); .sort(); .push_back(); .pop_back(); //在尾部进行插入删除 .push_front(); .pop_front(); //在头部进行插入删除 forward_list,即单项链表学过DS的应该都熟知其性质在操作上和list类似没有了在头部插入和删除操作。 离连型 deque,双端队列分段连续但是让使用者感觉是连续的每次扩充都是一个连续的buff具有以下性质 1,是双端队列类模板,双端队列容器由若干个块构成,每个块中的元素的地址是连续的,但是块的地址是不连续的, 2,可以从前面或后面快速的插入与删除元素,并可以快速地随机访问元素,但在中间位置插入和删除元素速度较慢 3,deque容器不像vector那样把所有的元素保存在一个连续的内存块,而是采用多个连续的存储块存放数据元素,所以空间的重新分配要比vector快,因为重新分配空间后原有的元素不需要复制 常用操作可以和vector类比也可以和list类比 []// 可以随机访问 .size(); .front(); .back(); .sort(); .push_back(); .pop_back(); //在尾部进行插入删除 .push_front(); .pop_front(); //在头部进行插入删除 2.容器适配器 先跳过关联性容器先来看容器适配器在源码实现层面两个适配器stack和queue都是操作受限的deque。学过DS对这stack和queue的性质应该很清楚。 stack常用操作 .empty(); .size(); .push(); .pop(); .top();//返回栈顶元素 queue常用操作 .empty(); .size(); .front();//队头元素 .back();//队尾元素 .push();//队尾插入元素 .pop();//队头弹出元素 3.关联型容器 关联型容器按照存放的元素分类set存放单个元素和map存放键值对其中set元素不可重复map元素不可重复mutilset允许重复元素mutilmap允许重复元素底层是由红黑树来实现的而unordered_set不能修改元素只可以插入删除和unordered_map底层是由哈希表来实现的。 set的常用操作 // set/multiset常用成员函数 empty()://判断容器是否为空 size()://返回容器中的实际元素个数 insert()://插入元素 erase()://从容器中删除一个或几个元素 clear()://删除所有元素 count(k)://返回容器中关键字k出现的次数 find(k)://如果容器中存在关键字为k的元素,返回该元素的迭代器,否则返回end()值 upper_bound()://返回一个迭代器,指向关键字大于k的第一个元素 lower_bound()://返回一个迭代器,指向关键字不小于k的第一个元素 begin()://用于正向迭代,返回容器的第一个元素 end()://用于正向迭代,返回容器的最后一个元素后面的一个位置 rbegin()://用于反向迭代,返回容器的最后一个元素的位置 rend()://用于反向迭代,返回容器的第一个元素前面的一个位置map的常用操作 //pair类结构的声明形式如下: struct pair{T first;T second; } // pair中的first为第一个分量(在map中对应key),second为第二个分量(在map中对应value) pair double,double p1; // 定义pair对象p1 cin p1.first p1.second; // 同时pair对,!,,,,共六个运算符进行重载,提供了按照字典序对元素进行大小比较的比较运算符模板函数 // map/multimap的主要成员函数如下 empty()://判断容器是否为空 size()://返回容器中的实际元素个数 map[key]://返回关键字为key的元素的引用,如果不存在这样的关键字,则以key作为关键字插入一个元素(不适合multimap) insert(elem)://插入一个元素elem并返回该元素的位置 clear()://删除所有元素 find()://在容器中查找元素 count()://容器中指定关键字的元素个数(map中只有1或者0) begin()://用于正向迭代,返回容器中的第一个元素位置 end()://用于正向迭代,返回容器中最后一个元素的位置 rbegin()://用于反向迭代,返回容器中最后一个元素的位置 rend()://用于反向迭代,返回容器中第一个元素前面的一个位置 // 在map中修改元素 mapchar,int mymap; mymap[a] 1;// 获取map中的值 int ans mymap[a];#includemap mapchar, int mymap; mymap[a] 3; mapchar, int::iterator it; for (it mymap.begin(); it ! mymap.end(), it) {cout it-first, it-second; }
http://www.dnsts.com.cn/news/9425.html

相关文章:

  • 好看的手机网站模板免费下载地方门户网站怎么赚钱
  • 建公司网站流程怎么做网页连接数据库显示信息
  • 博兴专业做网站网络防御中心
  • 上海有名的猎头公司优化游戏卡顿的软件
  • 上海网站建设网页制作联系方式织梦建站教程下载
  • 经营性质网站福州2017网站建设
  • 动易手机网站个人公司网站搭建
  • 个人兼职网站建设网站建站是 什么
  • 东莞网站建设企慕法律咨询
  • php外贸网站桂林商品房做民宿在哪个网站登记好
  • 手机网站打开微信支付功能网络公司网站图片
  • 网站建设难么哲林高拍仪网站开发
  • 网站栏目在哪里南京越城建设集团有限公司网站
  • 网站文件夹命名网站哪个公司做的
  • 上海网站优化公司成都网站优化排名推广
  • 接广告的网站网络营销软件推广
  • 网站做什么内容赚钱北京工程建设交易中心网站
  • 企业网站怎么注册网站流量ip造假图片
  • 汽车之家网站做的很烂自己做网站的成本
  • 四川铁科建设监理有限公司官方网站天津网站开发工资水平
  • 网站框架图wordpress提高打开速度慢
  • 网站建设江门视频直播平台开发
  • 湛江市政工程建设公司网站logo设计公司介绍
  • 用php做电商网站有哪些青岛网站设计公司推荐
  • 做网站路由器映射外网房屋设计网站有哪些
  • 网站开发参考书目大理 网站建设
  • 商城小程序开发多少钱网站优化和提升网站排名怎么做
  • 南昌网站建设培训学校网站集约化建设工作总结
  • 带icp备案的网站男生怎么找的小资源
  • 色彩设计网站科技项目申报