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

中国网站建设公司有哪些内容网页布局实例

中国网站建设公司有哪些内容,网页布局实例,广州自助建站软件,东莞免费企业网站模板推广STL和vector容器 基本概念六大组件容器算法迭代器容器算法迭代器 vector容器基本概念vector构造函数赋值vector的容量和大小vector插入与删除vector存取数据函数原型 vector互换容器vector预留空间vector容器嵌套容器 基本概念 长久以来#xff0c;软件届一直希望建立一种可重… STL和vector容器 基本概念六大组件容器算法迭代器容器算法迭代器 vector容器基本概念vector构造函数赋值vector的容量和大小vector插入与删除vector存取数据函数原型 vector互换容器vector预留空间vector容器嵌套容器 基本概念 长久以来软件届一直希望建立一种可重复利用的东西C的面向对象和泛型编程思想目的就是复用性的提升大多情况下数据结构和算法都未能有一套标准导致被迫从事大量重复工作为了建立数据结构和算法的一套标准诞生了STL。STL称标准模板库从广义上分为容器container、算法algorithm、迭代器iterator容器和算法之间通过迭代器进行无缝连接STL几乎所有的代码都采用了模板类或者模板函数。 六大组件 1、容器各种数据结构如vector、list、deque、set、map等用来存放数据。 2、算法各种常用的算法如sort、find、copy、for_each等 3、迭代器扮演了容器与算法之间的胶合剂 4、仿函数行为类似函数可作为算法的某种策略 5、适配器一种用来修饰容器或者仿函数或迭代器接口的东西 6、空间配置器负责空间的配置与管理 容器 放置物品的地方STL容器就是将运用最广泛的一些数据结构实现出来。常用的数据结构数组、链表、树、栈、队列、集合、映射表等。这些容器分为序列式容器和关联式容器两种序列式容器强调值的排序序列式容器中的每个元素均有固定的位置关联式容器二叉树结构各元素之间没有严格的物理上的顺序关系。 算法 问题的解法有限的步骤解决逻辑或数学上的问题叫做算法。算法分为质变算法和非质变算法。质变算法是指运算过程中会更改区间内的元素的内容例如拷贝、替换、删除等非质变算法是指运算过程中不会更改区间内的元素内容例如查找、计数、遍历、寻找极值等等。 迭代器 容器和算法之间的粘合剂提供一种方法使之能够依序寻访某个容器所含的各个元素而又无需暴露该容器的内部表示方式每个容器都有自己专属的迭代器迭代器使用非常类似于指针初学阶段可以理解为指针。 常用的容器中迭代器种类为双向迭代器和随机访问迭代器。 种类功能支持运算输入迭代器对数据的只读访问只读支持、、输出迭代器对数据的只写访问只写支持前向迭代器读写操作并能向前推进迭代器读写支持、、双向迭代器读写操作并能向前或向后操作读写支持随机访问迭代器读写操作可以以跳跃的方式访问任意数据功能最强的迭代器读写支持、–、[n]、-n、、、、 容器算法迭代器 在例子中体现 例迭代器vectorint::iterator vector容器 基本概念 功能vector数据结构和数组非常相似也称单端数组 vector与普通数组区别不同之处在于数组是静态空间而vector可以动态扩展 动态扩展并不是在原空间之后续接新空间而是找更大的内存空间然后将原数据拷贝新空间释放原空间。 vector容器的迭代器是支持随机访问的迭代器。 vector构造函数 创建vector容器 1、vectorT v;采样模板实现类实现默认构造函数 2、vectorv.begin(),v.end(); 将**v[begin(),end()**区间中的元素拷贝给本身 3、vectornelem; 构造函数将n个elem拷贝给本身 4、vectorconst vector vec; 拷贝构造函数 void test1() {vectorint v1;//默认构造for (int i 0;i 5;i) {v1.push_back(i);}p(v1);cout endl;vectorint v2(v1.begin(), v1.end());p(v2);cout endl;vectorintv3(5, 100);p(v3);cout endl;vectorintv4(v3);p(v4);cout endl; }赋值 1、vector operatorconst vector vec重载等号操作符 2、assignbegend将[beg,end)区间中的数据拷贝赋值给本身 3、assignnelem将n个elem拷贝给本身 void test1() {vectorint v1;for (int i 0;i 5;i) {v1.push_back(i);}p(v1);vectorint v2;v2 v1;p(v2);vectorintv3;v3.assign(v1.begin(), v1.end());p(v3);vectorintv4;v4.assign(5, 100);p(v4); }vector的容量和大小 1、empty();判断容器是否为空 2、capacity();容器的容量 3、size();返回容器中元素的个数 4、resize(int num);重新指定容器的长度为num若容器变长则以默认值0填充新位置若容器变短则末尾超出容器长度的元素被删除 5、resize(int num,elem);重新指定容器的长度为num若容器变长则以elem值填充新位置若容器变短则末尾超出容器长度的元素被删除 void test1() {vectorint v1;for (int i 0;i 5;i) {v1.push_back(i);}if (v1.empty()) {cout 为空 endl;}else {cout bu为空 endl;cout 容量 v1.capacity() endl;cout 大小 v1.size() endl;}v1.resize(10,100);p(v1);v1.resize(4);p(v1); }vector插入与删除 1、push_back(ele);尾部插入元素ele 2、pop_back删除最后一个元素 3、insertconst_iterator posele迭代器指向位置pos插入元素ele 4、insertconst_iterator posint countele迭代器指向位置pos插入count个元素ele 5、eraseconst_iterator pos删除迭代器指向的元素 6、eraseconst_iterator startconst_iterator end删除迭代器从start到end之间的元素 7、clear();删除容器中的所有元素 void test1() {vectorint vi;for (int i 0;i 10;i) {vi.push_back(i * 10);}vi.pop_back();vectorint::iterator it vi.begin();for (it;it ! vi.end();it) {cout *it \t;}vi.clear();cout endl;cout 清空后vi的个数 vi.size() endl;vi { 1,2,3,4,5 };vi.insert(vi.begin(), 10);vi.insert(vi.begin() 1, 60);vi.erase(vi.begin() 2);vi.erase(vi.begin() 3, vi.begin() 5);vi.push_back(100);p(vi); }vector存取数据 存放内置数据类型可以查看STL常用一些函数 算法for_each 迭代器vectorint::iterator 函数原型 1、atint index返回索引index所指的数据 2、opterator[];返回索引index所指的数据 3、front();返回容器中第一个数据元素 4、back();返回容器中最后一个数据元素 class S { public:int age;string name;S(string _n, int _a) {name _n;age _a;} }; void test() {vectorint vi;for (int i 0;i 10;i) {vi.push_back(i * 10);}cout 第一个元素 vi.front() endl;cout 第一个元素 vi.back() endl; } void test1() {//存放指针自定义类型数据vectorS * v;S s1(lisi, 18);S s2(Laola, 20);S s3(Tom, 23);S s4(Tony, 35);S s5(Qi, 24);v.push_back(s1);v.push_back(s2);v.push_back(s3);v.push_back(s4);v.push_back(s5);for (vectorS *::iterator i v.begin();i ! v.end();i) {cout 姓名 (*i)-name \t年龄 (*i)-age endl;} }vector互换容器 实现两个容器内元素进行互换 swapvec将vec与本身的元素互换 void test1() {//基本使用vectorint vi;for (int i 0;i 5;i) {vi.push_back(i * 10);}p(vi);vectorint v2;for (int i 5;i 0;i--) {v2.push_back(i);}p(v2);vi.swap(v2);p(vi);p(v2); }void test1() {//实际使用可以收缩空间vectorint vi;for (int i 0;i 1000;i) {vi.push_back(i * 10);}cout vi第一次容量 vi.capacity() endl;cout vi第一次大小 vi.size() endl;vi.resize(5);cout vi第2次容量 vi.capacity() endl;cout vi第2次大小 vi.size() endl;//巧用swap收缩内存//vectorint(vi)是匿名函数用完一次系统会删除vectorint(vi).swap(vi);cout vi第3次容量 vi.capacity() endl;cout vi第3次大小 vi.size() endl; }vector预留空间 减少vector在动态扩展容量时的扩展次数 reserveint len容器预留len个元素长度预留位置不初始化元素不可访问 void test1() {//实际使用可以收缩空间vectorint vi;vi.reserve(1000);int n 0;//开辟次数int* p NULL;for (int i 0;i 1000;i) {vi.push_back(i );if (p ! vi[0]) {p vi[0];n;}}cout n endl;//1 }vector容器嵌套容器 理清逻辑 void test1() {vectorvectorint v;//小容器vectorint v1;vectorint v2;vectorint v3;vectorint v4;vectorint v5;//小容器放数据for (int i 0;i 5;i) {v1.push_back(i 1);v2.push_back(i 2);v3.push_back(i 3);v4.push_back(i 4);v5.push_back(i 5);}//大容器放数据v.push_back(v1);v.push_back(v2);v.push_back(v3);v.push_back(v4);v.push_back(v5);for (vectorvectorint::iterator i v.begin();i ! v.end();i) {for (vectorint::iterator it (*i).begin();it ! (*i).end();it) {cout*it ;}cout endl;} }
http://www.zqtcl.cn/news/384196/

相关文章:

  • 网站内容与目录结构色一把做最好的网站
  • 优化网站方法企业做网站属于广告宣传费吗
  • 站长之家alexa排名网站架构 seo
  • 四川智能网站建设制作建设网站代理
  • 对网站建设好学吗智慧企业解决方案
  • 网站建站平台eazyshoph5制作微信小程序
  • 扬中网站建设 优帮云望野古诗带拼音
  • 网站和discuz同步登录建设产品网站课程
  • 常州做网站多少钱图片链接在线生成器
  • 服务器网站打不开可以做哪些网站
  • 建设银行网站信息补充网站如何备份
  • 网站建设 杭州市萧山区网页此站点不安全
  • 微网站免费开发平台钟表珠宝商城网站建设
  • 帮建网站的人wordpress广告栏
  • 怎么学建网站教做甜品网站
  • 建网站 服务器需要安装 tomcat安徽城乡建设 厅网站
  • 建筑公司企业简介模板关于网站优化的文章
  • 绥化网站建设兼职互联网大厂设计哪家口碑好
  • 成交型网站建设公司六安亿联网络科技有限公司
  • 优秀行业网站广州网站建设怎么样
  • 南宁建设信息网seo推广公司排名
  • 凯发网站国外网站博客网站也可以做引流
  • 网站设计要学什么vestacp wordpress
  • 模板建站代理3免费做网站
  • 酒店官方网站的功能建设百度网盟推广案例
  • 屯昌网站建设wap网站搭建
  • 毕设做音乐网站重庆正云环境网页制作
  • 免费网站建站w深圳罗湖建网站
  • 创建一个网站一般步骤有哪些互动网站策划
  • 文化传媒 网站设计宿迁网站建设价格