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

对门户网站建设情况的报告暴雪游戏排行榜前十名

对门户网站建设情况的报告,暴雪游戏排行榜前十名,网页编辑公众号,外贸建站建在哪里文章目录 vector介绍vector常用的成员函数有关vector定义的函数vector的迭代器使用vector关于空间操作的成员函数vector的增删查改 总结 vector介绍 在C语言的库中包含有公共数据结构的实现,C的这个部分内容就是众所周知的STL(标准模版库)&a…

文章目录

  • vector介绍
  • vector常用的成员函数
    • 有关vector定义的函数
    • vector的迭代器使用
    • vector关于空间操作的成员函数
    • vector的增删查改
  • 总结

在这里插入图片描述

vector介绍

在C++语言的库中包含有公共数据结构的实现,C++的这个部分内容就是众所周知的STL(标准模版库),vector就是标准模板库中的数据结构之一。

vector常用的成员函数

有关vector定义的函数

函数声明说明
vector()无参构造
vector(size_type n, const value_type& val = value_type())构造并初始化n个val
vector (const vector& x);拷贝构造
vector (InputIterator first, InputIterator last);使用迭代器进行初始化构造

无参构造

void test_vector1()
{vector<int> v1();
}

构造n个val

void test_vector2()
{vector<int> v2(10, 1);
}

拷贝构造

void test_vector3()
{vector<int> v1{ 1,2,3,4 };vector<int> v2 = v1;for (int i = 0;i < v2.size();i++){cout << v2[i] << ' ';}
}

迭代器构造

void test_vector4()
{vector<int> v1{ 1,2,3,4 };vector<int> v2(v1.begin(), v1.end());for (int i = 0;i < v2.size();i++){cout << v2[i] << ' ';}
}

vector的迭代器使用

iterator的使用说明
begin+end返回指向容器的第一项的一个适当的迭代器和返回指向终止标志的一个迭代器
rbegin+rend和begin和end类似,但是需要用reverse_iterator获取其迭代器

begin+end
使用场景:遍历容器
第一种遍历方式

void test_vector5()
{vector<int> v1{ 1,2,3,4 };vector<int>::iterator it = v1.begin();while (it != v1.end()){cout << *it << ' ';it++;}
}

第二种遍历方式

void test_vector6()
{vector<int> v1{ 1,2,3,4 };for (vector<int>::iterator it = v1.begin();it != v1.end();it++){cout << *it << ' ';}
}

rbegin+rend

这里只展示一种遍历方式

void test_vector7()
{vector<int> v1{ 1,2,3,4 };vector<int>::reverse_iterator it = v1.rbegin();while (it != v1.rend()){cout << *it << ' ';it++;}
}

剩下的还有什么const_iterator等等下来大家可以自己试试

vector关于空间操作的成员函数

成员函数功能
size返回数据个数
capacity返回空间大小
empty判断容器是否为空
resize改变容器的size大小
reverse改变容器的capacity大小

前面三个相信大家都会用了,所以这里直接从resize开始讲起,如果不懂的可以去看我讲解的string那节。

resize

resize函数改变的是size的大小

void test_vector8()
{vector<int> v1{ 1,2,3,4 };cout << v1.size() << endl;v1.resize(10);cout << v1.size() << endl;
}

如果这里默认不给参数的话,就会直接默认分配空间,并且把新开辟的空间初始化为0

void test_vector8()
{vector<int> v1{ 1,2,3,4 };cout << v1.size() << endl;v1.resize(10, 3);cout << v1.size() << endl;for (int i = 0;i < v1.size();i++){cout << v1[i] << ' ';}
}

如果第二个给参数的话,剩下的空间就用第二个参数进行初始化

reverse函数

reverse和resize的用法相同。
但是需要注意的是:reverse的扩容的策略在每个平台下的每次的扩容量是不同的。
vs下capacity是按1.5倍增长的,g++是按2倍增长的。

vector的增删查改

push_back(尾插)

void test_vector9()
{vector<int> v1{ 1,2,3,4 };v1.push_back(1);
}

pop_back

void test_vector9()
{vector<int> v1{ 1,2,3,4 };v1.pop_back();
}

find(find函数并不是vector的成员函数,而是algorithm中的一个库函数)

void test_vector11()
{vector<int> v1{ 1,2,3,4 };vector<int>::iterator pos = find(v1.begin(), v1.end(), 1);cout << *pos << endl;
}

注意:find的返回值是迭代器,不是返回下标,而是返回对应的数的迭代器

Insert
Insert也是与迭代器相关的一个成员函数

void test_vector12()
{vector<int> v1{ 1,2,3,4 };v1.insert(v1.begin(), 1);
}

erase

void test_vector13()
{vector<int> v1{ 1,2,3,4 };v1.erase(v1.begin());
}

erase可以删除一个数据,也可以删除多个数据

void test_vector13()
{vector<int> v1{ 1,2,3,4 };v1.erase(v1.begin(), v1.end());
}

上面的代码是erase删除一段数据的场景

operator[]重载
vector支持[]访问,我们可以像数组一样进行访问比如:

int main()
{vector<int> v1{ 1,2,3,4,5,6,7,8,9 };for (int i = 0;i < v1.size();i++){cout << v1[i] << ' ';}return 0;
}

vector相较于数组的优势
在普通数组中不能进行复制操作,但是vector容器就支持复制操作,当我们需要复制一个容器的时候不需要用一个循环一个一个赋值,只需要用一个运算符重载=,就可以将容器中的值拷贝到另一个容器当中。

总结

在这篇关于“容器vector”的博客中,我们深入探讨了 C++ 中这个强大的数据结构。vector 提供了动态数组的功能,允许我们在运行时动态添加、删除元素,并且能够以常数时间复杂度访问元素,这使得它成为处理数据集合的理想选择。

我们了解了如何创建、初始化和操作 vector,以及如何使用其丰富的成员函数来满足各种需求。vector 的标准接口和异常安全性使得在处理数据时更加方便和安全。

通过学习本文,希望读者能够更加熟练地使用 vector,并且在实际项目中充分发挥它的优势。vector 不仅在算法和数据结构中有着广泛的应用,而且在各种类型的程序中都能发挥作用,从小型应用到大型系统都可以看到它的身影。

让我们继续深入学习和探索,掌握更多 C++ 中强大的工具和技术,不断提升自己的编程能力。感谢阅读!

http://www.yayakq.cn/news/674137/

相关文章:

  • 腾讯云服务器用什么做网站网站建设宣传方案
  • 滴滴注册网站做教育培训应该注册什么公司
  • 与做网站的人怎么谈判高中课程免费教学网站
  • 云主机 网站指南百度网页链接
  • 网站免费推广的方法长沙房产网最新楼盘地图
  • 最容易做的门户网站湘潭做网站价格问下磐石网络
  • 开网站做网站邵阳营销型网站建设
  • 湘潭网站建设 r磐石网络移动端网站宽度做多大
  • 小企业网站建设哪找网站建设完成
  • 电商网站建设工具网站开发都用什么软件
  • 苏州建站模板展示模具钢东莞网站建设
  • 网站使用功能介绍是用什么软件做的wordpress基本文档
  • 如何做品牌网站做推广都有哪些网站
  • 兴化网站建设如何做外贸电商
  • 网站备案是域名还是空间网站建设维护更新
  • 广州的一起做网站少儿编程老师
  • 百度资源平台链接提交网络推广和优化是什么意思
  • 网站建设与管理就业去向网站建设静态部分总结
  • 塘沽做网站比较好的随州制作网站
  • 中国风格网站模板seo搜索引擎优化
  • 网站开发一对一自助建站系统免费加盟
  • 手机网站设计神器wordpress 子站点
  • 太原seo推广优化阿里巴巴网站的搜索引擎优化案例
  • 商城网站怎么自己搭建最近网站改版文章突然不收录
  • WordPress社工库西安官网优化哪家公司好
  • 免费网站推广在线观看建设工程招投标与合同管理论文
  • 网站报价方案范文网站做镜像的有什么用
  • 衡阳做网站的设计微信小程序
  • 哈尔滨市住房与城乡建设局网站互联网挣钱新方法
  • 安徽省城乡和建设厅网站设计 微网站