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

低多边形网站谷歌推广怎么做最有效

低多边形网站,谷歌推广怎么做最有效,搭建wordpress程序,个人app制作教程文章目录 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的好处
  • 容器
  • vector
    • 1.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具有高可用性,高性能,高移植,跨平台优点

容器

序列式容器:

  • 序列式容器每个元素都有固定位置–取决于插入的时机和地点,和元素值无关。
  • vector,deque、list、stack、queue

关联式容器:

  • 元素位置取决于特定的排序准则,和插入顺序无关
  • set、multiset、map、multimap

在这里插入图片描述
在这里插入图片描述

vector

1.vector容器简介

  • 尾部插入速度比较快
  • vector是将元素置于一个动态数组中加以管理的容器
  • vector可以随机存取元素(支持索引值直接存取)
  • vector尾部添加或移除元素的速度非常快速,但是在头部插入或移除元素比较费时

2.vector对象的默认构造函数

vector<class T>vecT;
vector<int>vecInt;
vector<float>vecFloat;
vector<string>vecString;class A{};
vector<A>vecA; //用于存放CA对象的vector容器,
//由于容器元素的存放是按值复制的方式进行,所以此时CA必须提供CA的拷贝构造函数,以保证CA对象间拷贝正常vector<A*>vecpA;   //用于存放CA对象指针的vector容器

3.vector对象的带参构造函数

理论知识:

  • vector(beg,end); //构造函数将[beg,end)区间中的元素拷贝给本身,注意该区间左闭右开
  • vector(n,elem);//构造函数将n个elem拷贝给本身
  • vector(const vector& vec); //拷贝构造函数
int main()
{int arr[] = { 1,2,3,4,5 }; //用两个指针构造vector<int>v1(arr, arr + 5);vector<int>v2(3, 10);//存储3个10for (int i = 0; i < v2.size(); i++){cout << v2[i] << " ";}cout << endl;vector<int>v3(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()
{vector<int>vecIntA(3, 10);vector<int> 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()
{vector<int>v1;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_back
  • vector.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 };vector<int>v1(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/367791/

相关文章:

  • 网站免费优化软件需要优化的地方
  • 24小时学会网站建设下载厦门百度竞价开户
  • 怎样学做网站网站权重等级
  • 做网站好还是做淘宝好北京seo推广
  • 郑州门户网站建设哪家好网站首页不收录
  • 网站制作营销型哪些网站可以发广告
  • 最新政府网站建设理念广州头条新闻最新
  • 济宁网站建设神华线上推广的三种方式
  • 我要表白网站在线制作如何做网站的教程
  • 福州论坛建站模板策划网络营销活动
  • 网站建设 天津百度市场应用官方app
  • 动态网站制作流程友情链接的定义
  • 企业网站开发方案免费建立一个网站
  • 网站引导页面制作的四个任务名称推广引流的10个渠道
  • 南宁网站建设制作后台网站关键词优化价格
  • 微信小程序商城制作公司宁波seo推广服务
  • 响应式购物网站公司seo是什么意思
  • 360未经证实的网站如何做电商运营方案
  • 网站建设类公司排名营销方案范文100例
  • 郑州网站设计 郑州网站开发网络优化有前途吗
  • 黑河做网站首页关键词排名优化
  • 网站二级域名怎么解析公司网络搭建
  • wordpress做网店win10优化大师是官方的吗
  • 弄个做网站公司产品宣传
  • 商品房建设信息网站googleplay商店
  • 菏泽 网站建设优化工具箱
  • 网站建设找哪家公司百度搜索热度
  • 网页设计论文引言北海百度seo
  • 网站空间哪家做的好网络营销的常用工具
  • 网站开发具体问题优化营商环境