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

景泰做网站热门网站

景泰做网站,热门网站,美国联盟营销网站,长沙做网站需要多少钱这是关于一个普通双非本科大一学生的C的学习记录贴 在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料 那么开启正题 今天分享的是关于vector的一些函数 1.构造函数 vector() …

这是关于一个普通双非本科大一学生的C++的学习记录贴

在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料

那么开启正题

今天分享的是关于vector的一些函数

1.构造函数

vector()                       // 无参构造函数
vector(size_t typen,const vaule_type& val = vaule_ type())      //构造并初始化n个val
vector(const vector& x)                                    //拷贝构造
vector(inputlterator first,inputlterator last)                //使用迭代器进行初始化构造
void vectorTest1()
{vector<int> v1;v1.push_back(1);v1.push_back(2);v1.push_back(3);vector<int> v2(v1);vector<int> v3(10, 1);vector<int> v4(v1.begin() + 1, v1.end());
}

2.关于iterstor的使用

begin() + end()       //获取第一个数据的位置与获取最后一个元素后面的位置
rbegin() + rend()     //获取第一个元素的前面的位置与获取最后一个元素的位置
void vectorTest2()
{vector<int> v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);vector<int>::const_iterator it = v.begin();while (it != v.end()){//++(*it);cout << *it << " ";++it;}cout << endl;
}

如果是const迭代器就不能修改,一般迭代器可以进行修改 

void vectorTest3()
{vector<int> v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);vector<int>::reverse_iterator it = v.rbegin();while (it != v.rend()){//++(*it);cout << *it << " ";++it;}cout << endl;
}

反向迭代器的名字加上了reverse_ ,修改规则与上面同样的

void vectorTest4()
{vector<int> v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);for (auto e : v){cout << e << " ";}cout << endl;
}
void vectorTest4()
{vector<int> v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);for (auto& e : v){e++;cout << e << " ";}cout << endl;
}

 当然,支持迭代器就支持范围for,值得注意的是,范围for根据是否需要写数据可以选择加上或者不加上&

3.空间问题

size()        //获取数据的个数
capacity()    //获取容量的大小
empty()       //判断是否为空
resize()      //改变vector的size
reserve()     //改变vector的capacity
void vectorTest5()
{vector<int> v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);cout << v.size() << endl;cout << v.capacity() << endl;cout << v.empty();v.resize(2);v.reserve(10);
}

 空间的管理与string相似,这里不再详说

4.增删查改

push_back()      //尾插
pop_back()       //尾删
find()           //查找
insert()         //在pos位置前插入
erase()          //删除pos的位置
swap()           //交换两个vector的数据空间
operator[]       //像数组一样访问

 注意find不是vector自身提供的方法,是STL提供的算法

void vectorTest6()
{vector<int> v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);v.push_back(5);v.pop_back();vector<int>::iterator pos = find(v.begin(), v.end(), 3);if (pos != v.end()){v.insert(pos, 10);}pos = find(v.begin(), v.end(), 2);v.erase(pos);for (auto& e : v){cout << e << " ";}cout << endl;
}

 注意,insert是前插

void vectorTest7()
{vector<int> v1;v1.push_back(1);v1.push_back(2);v1.push_back(3);v1.push_back(4);vector<int> v2;v2.push_back(10);v2.push_back(20);v2.push_back(30);v2.push_back(40);v2.push_back(50);swap(v1, v2);
}

 注意:vs下capacity是按1.5倍增长的,g++是按2倍增长的,它们的STL版本不一样

新手写博客,有不对的位置希望大佬们能够指出,也谢谢大家能看到这里,让我们一起学习进步吧!!

http://www.hrbkazy.com/news/14281.html

相关文章:

  • 学校门户网站群建设方案怎么自己做网站
  • 中山市 做网站网络营销主要有哪些特点
  • 360浏览器屏蔽某网站怎么做百度旗下推广平台有哪些
  • 网站怎么做咨询广东疫情动态人民日报
  • 有没有免费建网站子域名大全查询
  • 网站后台seo优化如何做对百度竞价排名的看法
  • wordpress网站搭建百度客户电话
  • html5深圳网站开发手机建立一个免费网站
  • 济南网站建设推广广东最新消息
  • 模板网站怎么做才美观头条今日头条
  • 网站开发的基本原则广州网站营销推广
  • 西安城市建设职业学院官方网站网络营销网课
  • iis 发布织梦网站微信引流获客软件
  • 徐州做网站软件百度seo排名优化是什么
  • 在酒吧里做那个视频网站竞价恶意点击立案标准
  • 东莞网站建设招聘广告设计公司
  • Webmin和wordpress巢湖seo推广
  • 做网站哪里找下载百度地图2022最新版官方
  • 做网站图片用什么格式最好网站建设7个基本流程
  • 餐饮运营策划公司重庆关键词优化服务
  • 网站做联盟广告能赚钱吗可以搜索国外网站的搜索引擎
  • 网站建设合同内容seo推广方案怎么做
  • 中山一站式营销推广平台跨境电商培训机构哪个靠谱
  • 网络营销网站建设设计方案成免费crm软件有哪些优点
  • 广州做网站企业怎样查询百度收录和排名情况
  • 什么网站可以做设计赚钱廊坊seo
  • 邢台网站制作哪里做舆情信息报送
  • 有哪些做淘宝素材的网站有哪些长春关键词优化公司
  • 可以先做网站再开公司吗营业推广方案
  • 滁州做网站hi444长春seo排名