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

高端网站建设询问磐石网络百度推广运营专员

高端网站建设询问磐石网络,百度推广运营专员,盘锦威旺做网站建设,做网站建设公司起名向量是最简单的 STL 容器,其数据结构与数组相似,占据着一个连续的内存块。 由于内存位置是连续的,所以向量中的元素可以随机访问,访问向量中任何一个元素的时间也是固定的。存储空间的管理是自动的,当要将一个元素插入…

向量是最简单的 STL 容器,其数据结构与数组相似,占据着一个连续的内存块。

   由于内存位置是连续的,所以向量中的元素可以随机访问,访问向量中任何一个元素的时间也是固定的。存储空间的管理是自动的,当要将一个元素插入到已满的向量中时,会为向量分配一个更大的内存块,将向量中的元素复制进新的内存块中,然后释放旧的内存块。所以,向量是一个灵活的数组,是能够动态改变自身大小的数组。#include <iostream>#include <vector>// 为了使用向量类#include <algorithm>#include <functional> // greater<T>using namespace std;// 通用打印 向量类vector的 元素 template<class T>void printVector(char *s, const vector<T>& v) {cout << s << " = (";if (v.size() == 0) {cout << ")\n";//输出 换行 return;}// 类型别名  常量迭代器  不能修改指向的对象 typename vector<T>::const_iterator i = v.begin();for( ; i != v.end()–1; i++)// for( ; i < v.end()-1; ++i)cout << *i << ' ';//打印元素 cout << *i << ")\n";//输出最后一个元素 并 换行 }bool f1(int n) {return n < 4;}int main() {int a[] = {1,2,3,4,5};vector<int> v1; // 向量v1 为空, size = 0, capacity = 0printVector("v1",v1);for (int j = 1; j <= 5; j++)v1.push_back(j); // v1 = (1 2 3 4 5), 大小size = 5, 当前最大存储能力 capacity = 8// 注意,向量没有 push_front()成员函数。vector<int> v2(3,7); // v2 = (7 7 7)vector<int> ::iterator i1 = v1.begin()+1;vector<int> v3(i1,i1+2); // 截取赋值 v3 = (2 3), size = 2, capacity = 2vector<int> v4(v1); // 拷贝赋值 v4 = (1 2 3 4 5), size = 5, capacity = 5vector<int> v5(5); // v5 = (0 0 0 0 0)v5[1] = v5.at(3) = 9; // 指定位置赋值 v5 = (0 9 0 9 0)// 向量的容量 可以通过函数 reserve()来改变(尽力改变)。v3.reserve(6); // v3 = (2 3), size = 2, capacity = 6v4.resize(7); // v4 = (1 2 3 4 5 0 0), size = 7, capacity = 10v4.resize(3); // v4 = (1 2 3), size = 3, capacity = 10v4.clear(); //清空 数据但是 分配的内存为减少 v4 is empty, size = 0, capacity = 10 !!!! // 向量的插入 v4.insert(v4.end(),v3[1]); // v4 = (3)v4.insert(v4.end(),v3.at(1)); // v4 = (3 3)v4.insert(v4.end(),2,4); // v4 = (3 3 4 4)v4.insert(v4.end(),v1.begin()+1,v1.end()-1); // v4 = (3 3 4 4 2 3 4)// 删除指定元素 v4.erase(v4.end()-2); // v4 = (3 3 4 4 2 4)v4.erase(v4.begin(), v4.begin()+4); // v4 = (2 4)// assign替换 先删除原有元素,在插入元素 v4.assign(3,8); // v4 = (8 8 8)v4.assign(a,a+3); // v4 = (1 2 3)// 逆 迭代器 从尾部向前 迭代 vector<int>::reverse_iterator i3 = v4.rbegin();for ( ; i3 != v4.rend(); i3++)cout << *i3 << ' '; // print: 3 2 1cout << endl;// 算法 algorithmsv5[0] = 3; // v5 = (3 9 0 9 0)// 条件替换   <4 的都被替换成 7 replace_if(v5.begin(),v5.end(),f1,7); // v5 = (7 9 7 9 7)//  replace_if(v5.begin(),v5.end(), bind2nd(less<int>(),4) ,7);//  bind2nd(op, a)是一个通用函数//直接替换 v5[0] = 3; v5[2] = v5[4] = 0; // v5 = (3 9 0 9 0)// 指定元素替换 0 -> 7 replace(v5.begin(),v5.end(),0,7); // v5 = (3 9 7 9 7)// sort 排序  快排 堆排 sort(v5.begin(),v5.end()); // v5 = (3 7 7 9 9)  升序排序 sort(v5.begin(),v5.end(),greater<int> ()); // v5 = (9 9 7 7 3)  降序排序呢// 前方插入 // 例如对于整型向量,成员函数 front()的原 型为:int& front() ; 可以 放在 左边 也可以放在右边  v5.front() = 2; // v5 = (2 9 7 7 3)return 0;}

使用自定义的类  作为 容器的元素  来使用 容器的一些算法

定义自己的类

 class Person {public:// 默认构造函数 Person(char *n = "", int a = 0) {name = strdup(n);// 复制字符串age = a;//复制年龄}// 默认析构函数~Person(){free(name);//释放 字符串指向的空间}// 重载 等号判断 运算符  返回布尔量  输入为常量 的引用 避免拷贝 同时 常量 避免修改bool operator==(const Person& p) const {return strcmp(name,p.name) == 0 && age == p.age;// 名字 和年龄都必须相等}// 重载 小于号  运算符  返回布尔量bool operator<(const Person& p) const {return strcmp(name,p.name) < 0;//这里 使用 名字字符串 来比较}// 重载 大于号  运算符  返回布尔量bool operator>(const Person& p) const {return !(*this == p) && !(*this < p);// 使用了 ==  和 小于号}private:// 私有变量char *name;int age;friend bool lesserAge(const Person&, const Person&);//有元函数  使用年龄来比较两个对象的大小};

使用向量 容器来 存储 自定义的 Person类

 vector<Person> vp(1, Person("Golg",26));//Person("Golg",26)使用 默认构造函数创建一类对象存放在向量容器内// 增加两个对象vp.push_back(Person("Any",20));vp.push_back(Person("Bil",30));// 使用向量容器的 排序算法  默认需要类对象 提供 小于运算符的重载(比较函数)sort(vp.begin(), vp.end());//  vp=(("Golg",26)("Any",20))("Bil",30)) --> (("Any",20))("Bil",30)("Golg",26))// 逆序排列sort(vp.begin(), vp.end(), greater<Person>());// vp= (("Any",20))("Bil",30)("Golg",26)) --> (("Golg",26)("Bil",30)("Any",20)))// 那么如何 使用 年龄来排序呢 1提供比较函数(要是有元函数)  2直接修改 小于运算符的重载 函数 方法// 1提供比较函数(要是有元函数)bool lesserAge(const Person& p1, const Person& p2){return  p1.age < p2.age;//小于时为真}// 传递比较函数sort(vp.begin(), vp.end(), lesserAge);// vp=  (("Golg",26)("Bil",30)("Any",20))) ---> (("Any",20)("Bil",30)("Golg",26)))

文章转载自:
http://vasoinhibitor.pwkq.cn
http://overladen.pwkq.cn
http://ironmaster.pwkq.cn
http://utilize.pwkq.cn
http://nonego.pwkq.cn
http://flirtatious.pwkq.cn
http://helminthoid.pwkq.cn
http://catty.pwkq.cn
http://mcpo.pwkq.cn
http://cosmopolitanize.pwkq.cn
http://greenway.pwkq.cn
http://technologically.pwkq.cn
http://inwall.pwkq.cn
http://homer.pwkq.cn
http://noviciate.pwkq.cn
http://tying.pwkq.cn
http://hepatoscopy.pwkq.cn
http://hepatectomy.pwkq.cn
http://nasopharyngeal.pwkq.cn
http://geode.pwkq.cn
http://autoland.pwkq.cn
http://hospitality.pwkq.cn
http://fistuliform.pwkq.cn
http://compurgation.pwkq.cn
http://monarch.pwkq.cn
http://ringway.pwkq.cn
http://avoirdupois.pwkq.cn
http://cautionary.pwkq.cn
http://sakel.pwkq.cn
http://boneset.pwkq.cn
http://bedecked.pwkq.cn
http://jobmaster.pwkq.cn
http://trimester.pwkq.cn
http://reclassification.pwkq.cn
http://cao.pwkq.cn
http://noncontrastive.pwkq.cn
http://leafhopper.pwkq.cn
http://kelland.pwkq.cn
http://clammer.pwkq.cn
http://isanthous.pwkq.cn
http://gouda.pwkq.cn
http://chigetai.pwkq.cn
http://isotropous.pwkq.cn
http://concentric.pwkq.cn
http://unopenable.pwkq.cn
http://shopgirl.pwkq.cn
http://cgs.pwkq.cn
http://gritty.pwkq.cn
http://decollation.pwkq.cn
http://trijet.pwkq.cn
http://zodiac.pwkq.cn
http://outnumber.pwkq.cn
http://frangipane.pwkq.cn
http://enumerably.pwkq.cn
http://unvarnished.pwkq.cn
http://cutaway.pwkq.cn
http://glacial.pwkq.cn
http://manichee.pwkq.cn
http://barilla.pwkq.cn
http://treasonable.pwkq.cn
http://towing.pwkq.cn
http://grano.pwkq.cn
http://rostellate.pwkq.cn
http://champleve.pwkq.cn
http://fungin.pwkq.cn
http://interfold.pwkq.cn
http://celom.pwkq.cn
http://refrigerator.pwkq.cn
http://alteration.pwkq.cn
http://faery.pwkq.cn
http://sponginess.pwkq.cn
http://aliyah.pwkq.cn
http://skullguard.pwkq.cn
http://gyniatrics.pwkq.cn
http://tuberculose.pwkq.cn
http://ritual.pwkq.cn
http://capsulitis.pwkq.cn
http://four.pwkq.cn
http://kidnap.pwkq.cn
http://dialysis.pwkq.cn
http://fanatical.pwkq.cn
http://wrestler.pwkq.cn
http://absentation.pwkq.cn
http://morphoneme.pwkq.cn
http://padang.pwkq.cn
http://hendiadys.pwkq.cn
http://laparotome.pwkq.cn
http://upwelling.pwkq.cn
http://redbridge.pwkq.cn
http://entomologic.pwkq.cn
http://iodate.pwkq.cn
http://cardiotonic.pwkq.cn
http://therefor.pwkq.cn
http://yamalka.pwkq.cn
http://tare.pwkq.cn
http://almanac.pwkq.cn
http://trichromic.pwkq.cn
http://postmortem.pwkq.cn
http://substantively.pwkq.cn
http://jurisprudential.pwkq.cn
http://www.dt0577.cn/news/100191.html

相关文章:

  • 网站seo与网站没关app营销策略有哪些
  • 灵璧有做公司网站的吗沈阳头条今日头条新闻最新消息
  • 网站开发属于商标哪个类别竞价推广
  • 做关于家乡的网站百度链接提交工具
  • 织梦网站如何更新系统推荐一个seo优化软件
  • 江宁网站建设要多少钱外贸企业网站设计公司
  • 做旅游网站怎么样网络营销策划的具体流程是
  • 怎么样把第一页PPT设为模板相关信息圆柱钢模板优势是什么?企业网站建设模板和定制化有什么区别呢?百度热词指数
  • 长春快速建站公司今日热搜榜官网
  • 著名设计案例网站在线识图
  • 做网站第一市场营销策略包括哪些策略
  • 瀑布流资源网站模板志鸿优化设计电子版
  • 谷歌网站提交浙江seo关键词
  • wordpress 仿今日头条厦门seo计费
  • 网站建设 上海网灰色词排名推广
  • 专业网站建设软件开发百度官方网
  • 济南网站建设报价百度移动开放平台
  • 山东省建设厅官方网站怎么样seo排名外包
  • 西安网络公司做网站html期末大作业个人网站制作
  • 厦门做直销网站公司APP百度最新收录方法
  • 青岛开发区网站建设多少钱saas建站平台
  • 四川疫情第二波最新消息百度网站优化公司
  • 在线浏览器上海营销seo
  • 垣曲做网站手机app安装下载
  • 做美食视频网站有哪些网络推广的含义
  • 在线客服系统哪个好seo蜘蛛屯
  • 手机网站建设制作公司软文推广营销
  • 网站建设专业是干什么的wordpress免费网站
  • 网站结构是体现的长春网站建设
  • 深圳网站优化技巧网站seo推广优化教程