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

成都市武侯区建设局门户网站网站建设色彩搭配

成都市武侯区建设局门户网站,网站建设色彩搭配,网站信息员队伍建设方案,笔记本做网站文章目录 STL基本概念使用STL的好处容器vector1.vector容器简介2.vector对象的默认构造函数3.vector对象的带参构造函数4.vector的赋值5.vector的大小6.vector容器的访问方式7.vector的插入 STL基本概念 STL(Standard Template Library,标准模板库)STL 从广义上分为: 容器(con… 文章目录 STL基本概念使用STL的好处容器vector1.vector容器简介2.vector对象的默认构造函数3.vector对象的带参构造函数4.vector的赋值5.vector的大小6.vector容器的访问方式7.vector的插入 STL基本概念 STL(Standard Template Library,标准模板库)STL 从广义上分为: 容器(container) 算法(algorithm) 迭代器(iterator)迭代器算法通过迭代器访问容器里面的数据容器和算法之间通过迭代器进行无缝连接。STL 几乎所有的代码都采用了模板类或者模板函数这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会 使用STL的好处 STL是C的一部分因此不需要额外安装什么被内建在你的编译器里面STL的一个重要特点是将数据结构和算法分离程序员不用思考STL的实现过程STL具有高可用性高性能高移植跨平台优点 容器 序列式容器 序列式容器每个元素都有固定位置–取决于插入的时机和地点和元素值无关。vectordeque、list、stack、queue 关联式容器 元素位置取决于特定的排序准则和插入顺序无关set、multiset、map、multimap vector 1.vector容器简介 尾部插入速度比较快vector是将元素置于一个动态数组中加以管理的容器vector可以随机存取元素支持索引值直接存取vector尾部添加或移除元素的速度非常快速但是在头部插入或移除元素比较费时 2.vector对象的默认构造函数 vectorclass TvecT; vectorintvecInt; vectorfloatvecFloat; vectorstringvecString;class A{}; vectorAvecA; //用于存放CA对象的vector容器 //由于容器元素的存放是按值复制的方式进行所以此时CA必须提供CA的拷贝构造函数以保证CA对象间拷贝正常vectorA*vecpA; //用于存放CA对象指针的vector容器3.vector对象的带参构造函数 理论知识 vector(begend); //构造函数将[beg,end)区间中的元素拷贝给本身注意该区间左闭右开vector(n,elem);//构造函数将n个elem拷贝给本身vector(const vector vec); //拷贝构造函数 int main() {int arr[] { 1,2,3,4,5 }; //用两个指针构造vectorintv1(arr, arr 5);vectorintv2(3, 10);//存储3个10for (int i 0; i v2.size(); i){cout v2[i] ;}cout endl;vectorintv3(v1);//用一个已经构造好的对象初始化新的对象for (int i 0; i v1.size(); i){cout v3[i] ;} }4.vector的赋值 vector.assign(beg,end);//将[beg,end)区间中的元素拷贝赋值给本身注意该区间左闭右开vector.assign(n,elem);//将n个elem拷贝赋值给本身vector operator(const vector vec);//重载等号操作符vector.swap(vec); //将vec与本身的元素互换 int main() {vectorintvecIntA(3, 10);vectorint vecIntB, vecIntC, vecIntD;int iarray[] { 0,1,2,3,4 };//将数组iarray中的所有元素赋值给vactorIntA容器vecIntA.assign(iarray, iarray 5);cout A;for (int i 0; i vecIntA.size(); i){cout vecIntA[i] ;}cout endl;//将vecIntA中所有元素赋值给vecIntBvecIntB.assign(vecIntA.begin(), vecIntA.end());cout B1;for (int i 0; i vecIntB.size(); i){cout vecIntB[i] ;}cout endl;cout B2;vecIntB.assign(vecIntA.begin()2, vecIntA.end()-1);for (int i 0; i vecIntB.size(); i){cout vecIntB[i] ;}cout endl;//将4个10拷贝到vecIntCvecIntC.assign(4, 10);cout C;for (int i 0; i vecIntC.size(); i){cout vecIntC[i] ;}cout endl;//互换元素vecIntB.swap(vecIntC);cout B2;for (int i 0; i vecIntB.size(); i){cout vecIntB[i] ;}cout endl;cout C;for (int i 0; i vecIntC.size(); i){cout vecIntC[i] ;}cout endl;//重载赋值运算符vecIntD vecIntC;cout D;for (int i 0; i vecIntD.size(); i){cout vecIntD[i] ;}return 0; }5.vector的大小 vector.size(); //返回容器中元素的个数vector.empty(); //判断容器是否为空vector.resize(); //重新指定容器的长度为num,若容器变长则以默认值填充新位置。如果容器变短则末尾超出容器长度的元素被删除vector.resize(num,elem);//重新指定容器的长度为num,若容器变长则以elem填充新位置。如果容器变短则末尾超出容器长度的元素被删除 int main() {vectorintv1;cout v1.size: v1.size() endl;if (v1.empty()) //判断容器是否为空{cout v1 is empty endl;}int array[] { 1,2,3,4,5 };v1.assign(array, array 5);//将容器的长度变长v1.resize(10);for (int i 0; i v1.size(); i){cout v1[i] ;}cout endl;//将容器长度变短v1.resize(3);for (int i 0; i v1.size(); i){cout v1[i] ;}cout endl;//将容器长度变长并且扩展出来的新的元素为指定的值v1.resize(10, 100);for (int i 0; i v1.size(); i){cout v1[i] ;}cout endl;return 0; }6.vector容器的访问方式 vec.at[idx]; //返回索引idx所指数据如果idx越界抛出out_of_range异常vec[idx]; //返回索引idx所指的数据越界时运行直接报错 7.vector的插入 在vector末尾进行插入push_back、在末尾删除元素pop_backvector.insert(pos,elem); //在pos位置插入一个elem元素的拷贝返回新数据的位置vector.insert(pos,n,elem);//在pos位置插入n个elem数据无返回值vector.insert(pos,beg,end); //在pos位置插入[beg,end)区间的数据无返回值 int main() {int arr[] { 1,2,3,4,5 };vectorintv1(arr, arr 5);//在末尾插入函数v1.push_back(10);//在末尾删除函数v1.pop_back();//在指定位置插入一个指定元素v1.insert(v1.begin()3,100); //注意第一个参数不能为下标应该为指针for (int i 0; i v1.size(); i){cout v1[i] ;}cout endl;//在指定的位置插入多个元素v1.insert(v1.begin() 3, 3, 1000);//在下标为3的位置上插入3个1000for (int i 0; i v1.size(); i){cout v1[i] ;}cout endl;//将指定的区间中的元素插入到指定的位置上,将50—80插入int b[] { 40,50,60,70,80,90 };v1.insert(v1.begin() 7, b 1, b 5);for (int i 0; i v1.size(); i){cout v1[i] ;}cout endl; }
http://www.hkea.cn/news/14551814/

相关文章:

  • 桂林网站建设凡森网络小学生作文网
  • 课程网站模板浏览器的网站
  • 网站做的关键词被屏蔽wordpress图片间隙
  • 凌河锦州网站建设网站开发项目经理注意事项
  • 网站导航设计模板源码wordpress页面文字首行缩进
  • 对伊利网站建设建议字节跳动小程序官网
  • 广州海珠网站开发设计网络团队
  • 2018如何做网站外链无锡市住房和城乡建设部网站
  • 经开区网站建设wordpress 上传文件 插件
  • 做网站如何选择数据源高仿做的最好的网站
  • 网站类型有网站推广应该注意什么
  • 视频教学网站怎么做网站开发一般用什么服务器
  • 建站模板下载后表单怎么修改青岛专业公司网站设计公司
  • 没有公司怎么做网站权威发布的最新通告
  • 域名注册网站有哪些二人对战的微信小程序
  • 合租网站设计用于手机的导航网站要怎么做
  • 合肥企业制作网站head first wordpress 中文版
  • 帝国cms 网站地图标签建设网站有什么好处
  • 东莞工作招聘网优化好的网站做企业网站
  • 运营一个网站的费用做网站的开发软件
  • 怎么发布自己的网站传奇怎么做充值网站
  • 网站自适应框架西安信创
  • 360免费建站全屋定制设计网站推荐
  • 网站建设调查回访表做网站点击率赚钱
  • 东至网站定制国内vps做网站备案
  • 网站建设流程教程有什么做视频的免费素材网站
  • 网站模版二次开发跟手工制作区别网站空间管理系统
  • 给企业做网站如何定价vimwiki wordpress
  • Linux哪个版本做网站好网站见建设
  • 网站建设技术部职责my77731免费域名查询