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

梁朝伟做汤唯视频网站运城网站推广

梁朝伟做汤唯视频网站,运城网站推广,沈阳网站建设与开发,个人注册公司代理对STL进行总结#xff0c;STL是standard template library的简写#xff0c;是C中的一个标准模板库#xff0c;用于实现常用的数据结构和算法#xff0c;它是C程序员经常使用的一个工具箱。STL 的主要目的是提高开发效率和代码质量#xff0c;使得程序员可以更加便捷地完成…对STL进行总结STL是standard template library的简写是C中的一个标准模板库用于实现常用的数据结构和算法它是C程序员经常使用的一个工具箱。STL 的主要目的是提高开发效率和代码质量使得程序员可以更加便捷地完成常见的操作。里面包括算法algorithm、容器container、仿函数functors、迭代器iterator等这篇文章先说容器 容器 容器之所以叫容器可以抽象理解为我们装东西的容器比如装水的盒子只不过C里的容器是用于装数据STL这个库里面它提供了很多种容器类型用于存储数据。主要包括vector动态数组、set集合、map(映射)、stack栈、queue队列、priority—queue优先队列、string字符串、pair(二元组)  vector可以动态调整大小的数组支持快速的随机访问和迭代器访问并且支持在尾部添加或删除元素。set有序集合其中每个元素都是唯一的支持快速的查找和插入操作。unordered_set无序集合其中每个元素都是唯一的支持快速的查找和插入操作但元素的顺序是未定义的。map有序映射其中每个元素都有一个唯一的键值对支持快速的查找和插入操作。unordered_map无序映射其中每个元素都有一个唯一的键值对支持快速的查找和插入操作但元素的顺序是未定义的。deque双端队列支持快速的随机访问和迭代器访问并且支持在头部和尾部添加或删除元素。list双向链表只支持迭代器访问并且支持在任意位置添加或删除元素。 vector 它的和数组差不多区别就是他的长度是动态可变的存储在堆中一般可以替换普通数组 #includevector    vector类型 数组名(长度[初值])   //构造 vectorint arr;         //构造int数组 vectorint arr(100);        //构造初始长度100的数组 vectorint arr(1001);        //构造初始长度100的数组初值为1 vectorvectorint  mat(100,vectorint());        //构造初始100行不指定列数的二维数组 vectorvectorint  mat(100,vectorint(666-1));        //构造初始100行初始列600的二维数组初始值-1 vectorvectorvetcorint  mat1(100, vectorvectorint(6vectorint(4)));        //构造初始100行初始列6的三维维数组 尾接尾删 push_back(元素)在vector尾接一个元素数组长1pop_back()删除vector尾部的一个元素数组长度-1 改变长度 数组名.resize()  arr.resize(100);        //将vector的长度改为100 set  set 里的元素只出现一次且元素没有顺序 因此适用于对元素去重维护顺序等 #includeset set类型比较器 集合名        //构造 setint st;        //存储int集合从小到大 set int,greaterint st1;        //存储int集合从大到小  遍历 使用迭代器进行遍历 #includebits/stdc.h using namespace std;int main() {setint st; //构造一个集合st.insert(1); //插入1st.insert(2); //插入2st.erase(1); //删除1st.find(2); //找到1就返回1//遍历for (setint::iterator it st.begin(); it !st.end(); it){cout *it endl;}return 0; } map  有序键值对结构底层原理是黑红树。一个键只可以在映射中出现一次且没有顺序 健类型要存储健的数据类型 值类型要存储的数据类型 比较器键要比较大小使用的比较器默认为less数据类型可自定 #includemap map健类型值类型比较器 名字        //构造map mapint,int mp;        // int—int的映射从小到大 mapint,int,greaterint mp1;        // int—int的映射从大到小 mp[1]   2        //增加 mp.erase(1);        //  删除1这个键 mp[1] 3;        // 改 cout mp[1] endl;        //查 mp.count(元素)        //检查元素是否存在 for(mapint,int::iterator it mp.begin(); it ! mp.end(); it) { cout it - first i- second endl; }//上述用迭代器的方法太长 不好读 一般使用下面基于范围循环的方法for(auto m:mp) //是引用 m 是自定义的 mp是要便利的map的名字 {coutm.first m.second endl; } stack 通过二次封装双端队列queue实现先进后出的栈数据结构  #includestack stack数据类型  名字   stackint stk;        //构造一个栈 stk.push(1);        //进栈 stk.pop();        //出栈 stk.top();        //取顶栈 queue  先进先出 #includequeue queue数据类型 队名         //构造队列 queueint que;        //构造一个叫que的队列 que.push(元素)        //进队 que.pop()        //出队 que.front() ;        //取队首 que.back();        //取队尾 deque   首尾都可插入和删除的队列为双端队列 双端队列排序一般不用  priority_queue  优先队列是在正常队列的基础上加了优先级保证每次的队首元素都是优先级最大的。 可以实现每次从优先队列中取出的元素都是队列中优先级最大的一个 #includequeue priority_queue数据类型 名字         //构造一个优先队列 priority_queueint q1; // 默认大根堆, 即每次取出的元素是队列中的最大值 priority_queueint, vectorint, lessint q2; // 大根堆, 每次取出的元素是队列中的最大值同第一行 priority_queueint, vectorint, greaterint q3; // 小根堆, 每次取出的元素是队列中的最小值   string 存储字符串 string 长度初值        //构造函数 string s1;        //构造字符串为空 string s2 abcde;        //构造字符串 并赋值abcd string s3(10,6);        //通过构造函数构造为66666666666 cin  s1;         //输入字符串 cout s1;        //输出字符串  s1fgj;        //尾接字符串 pair 存储二元组两个元素的一个组合 #includeutiity pair类型类型 pr        //构造一个二元组 pariint, int p1;         //存储int型的元组 pairint, long long p2;          pairint, char pr3{1,a};        //赋值 第一个元素是1第2个元素是a int  a pr.first;        //取第一个值 int b pr.second;        //取第二个值
http://www.w-s-a.com/news/761764/

相关文章:

  • 高端品牌网站建设图片wordpress 资源站主题
  • 上海建设工程监督总站网站电商网站wordpress
  • 网站建设 医院菏泽网站建设熊掌号
  • 成都网站建设企业预约网免费建站流程
  • 网站建设胶州中国政务网站建设绩效评估
  • 合肥知名网站推广胶东国际机场建设有限公司网站
  • asp.ney旅游信息网站下载 简洁濮阳微信网站开发
  • 建设网站专业怎么上传网站程序到空间
  • 县城乡建设局网站微商城小程序哪个好
  • 博物馆门户网站建设优势重庆seo排名系统运营
  • 哪有app制作公司上海seo排名
  • 长沙建站seo公司北京招聘信息
  • 建设网站情况说明范文四川个人证书查询网官网
  • 推广学校网站怎么做公司可以做多个网站吗
  • 游戏网站后台建设郑州定制网站
  • 商务公司网站建设网站建设如何自学
  • 现在建网站可以拖拉式的吗中国国内最新新闻
  • phpstorm网站开发产品logo设计
  • 电子商务网站建设与运营什么是单页面网站
  • 西安优化网站公司南阳微信网站
  • 购物网站线下推广方案佛山快速建站哪家服务专业
  • 临沂网站排名外贸网站推广方法之一
  • 手机网站百度关键词排名查询吕梁网站制作吕梁安全
  • 做网站媒体wordpress管理员账号数据库添加
  • php如何自己做网站wordpress怎么修改编辑代码
  • 网站建网站建设公司WordPress互联
  • 泊头市网站建设价格wordpress导航菜单位置
  • 怎么设立网站赚广告费网页制作素材模板图片
  • 做班级网站的目的网站设计制作公司需要什么资质
  • 济南做网站哪家好财政网站平台建设不足