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

dede手机网站开发聊城东昌府区建设路小学网站

dede手机网站开发,聊城东昌府区建设路小学网站,德庆网站建设,做网站哪个公司比较好容器分为三类#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.hkea.cn/news/14464767/

相关文章:

  • 杭州网站忧化响水网站建设找哪家好
  • 天河建设网站公司网上开平台要多少钱
  • 网站建设网站建设企业展厅设计网
  • 做公众号的网站有哪些网站建设论文
  • 用php制作一个个人信息网站南京本地网站
  • 建设视频网站费用保定医疗网站建设公司
  • 河南中州路桥建设有限公司网站怎么做微信里的网页网站链接
  • 网站seo标题优化技巧深圳效果图制作公司
  • 南宁网站建设专业品牌网站开发研发设计
  • 网站推广塔山双喜长春网站建设公司
  • 兵团建设环保局网站阿里云做网站的代码
  • 宁波建设工程报名网站建设好的网站
  • 做传销网站的程序员犯法吗wordpress 关键词描述
  • php网站整合discuz魔域网页游戏官网
  • 个人网站做什么类型好工装设计效果图网站
  • 江苏同邦建设有限公司网站wordpress网站地图自动更新
  • 重庆工业建设网站wordpress怎么换主题
  • 自建网站h5网站推广怎么发外链
  • 网站排名在线优化工具网站建设导航分哪几类
  • 外贸工厂网站做seo多吗塘下网站建设
  • 网站建设技术参数山西设计网站公司
  • 用ul做的网站为何浮动不上去综合类门户网站有哪些
  • 建设网站项目的目的公关服务
  • 重庆网站托管服务wordpress怎么改标题和meta
  • 织梦汽车网站模板免费下载驻马店住房和城乡建设厅网站
  • 自助网站设计平台青岛 网站开发
  • 大连意动网站建设有限公司怎么样什么叫做优化
  • 免费金融网站模板软件开发需要哪些人员及其分工
  • 怎么免费开网站云服务器做网站详细
  • 一个网站需要服务器吗720云 wordpress