欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > C++vector容器

C++vector容器

2025/11/4 14:53:23 来源:https://blog.csdn.net/2302_79752447/article/details/140223309  浏览:    关键词:C++vector容器

文章目录

    • 基础概念
    • vector对象构造
      • 默认构造
      • 带参构造
    • vector操作
      • vector的赋值
      • vector的大小
      • vector末尾的添加移除操作
      • vector的数据存取
      • vector的插入
      • vector的删除
      • 其他

基础概念

vector是将元素置于一个动态数组中加以管理的容器。vector可以随机存取元素,支持索引值直接存取, 用[]操作符或at()方法对元素进行操作vector尾部添加或移除元素非常快速。但是在中部或头部插入元素或移除元素比较费时

请添加图片描述

vector对象构造

默认构造

//默认构造函数 元素个数为0, 所占内存空间为0
vector<float> v2;   //一个存放float的vector容器
vector<student> v2; //一个存放student的vector容器

带参构造

vector(beg,end);    //构造函数将[beg, end)区间中的元素拷贝给本身。注意该区间是左闭右开的区间
vector(n,elem);   //构造函数将n个elem拷贝给本身
vector(const vector &v1);  //拷贝构造函数

vector操作

vector的赋值

v2.assign(2, 888);//第一种玩法  改变原来vector 中的元素个数和值
v2.assign(v3.begin(), v3.end());//第二种玩法,使用迭代器重新赋值int test1[]={1, 2, 3, 4, 5};
v2.assign(test1, test1+3);//第三种玩法,使用指针赋值
v2 = v3;//第四种玩法,赋值运算

vector的大小

vector.size();	   //返回容器中元素的个数
vector.empty();	   //判断容器是否为空
vector.resize(num);   //重新指定容器的长度为num,若容器变长,则以默认值填充新位置。如果容器变短,则末尾超出容器长度的元素被删除。
vector.resize(num, elem);  //重新指定容器的长度为num,若容器变长,则以elem值填充新位置。如果容器变短,则末尾超出容器长度的元素被删除

vector末尾的添加移除操作

vector的数据存取

第一  使用下标操作 v2[0] = 100;
第二  使用at 方法 如: v2.at(2) = 100;
第三  接口返回的引用 v2.front() 和 v2.back()  
注意:   第一和第二种方式必须注意越界

vector的插入

vector.insert(pos,elem);   //在pos位置插入一个elem元素的拷贝,返回新数据的位置。
vector.insert(pos,n,elem);   //在pos位置插入n个elem数据,无返回值。
vector.insert(pos,beg,end);   //在pos位置插入[beg,end)区间的数据,无返回值 

vector的删除

1. 把整个vector 都干掉v2.clear();cout<<"调用 v2.clear() 后"<<endl;2.干掉单个元素v2[1] = 888;v2.erase(v2.begin()+1);3. 干掉多个元素v2.erase(v2.begin(), v2.begin()+3);

其他

元素个数:v1.size()
大小:v1.capacity()

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词