网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 其他技术区 > 算法与数据结构 >

C++算法与数据结构Vector使用指南

时间:2025-04-07 10:33

人气:

作者:admin

标签:

导读:C算法与数据结构Vector使用指南 C算法与数据结构Vector使用指南 构造函数 特殊成员函数 resize erase insert emplace 通用成员函数 删除容器内所有指定条件的元素 参考 构造函数 vectorlt;Datatype...


构造函数

vector<Datatype> a;//初始化一个空vector容器
vector<Datatype> a(n);//初始化一个大小为n,元素为0的vector容器
vector<Datatype> a(n,s);//初始化一个大小为n,元素为s的vector容器
//参数为另一个容器
vector<Datatype> a(b);//初始化容器a为容器b的复制
vector<Datatype> a(b.begin()+x,b.end()-y);//初始化容器a为容器b的指定范围

特殊成员函数

resize

更改容器大小,无返回类型

a.resize(n);//将容器a的大小更改为n
a.resize(n,x);//将容器大小更改为n,并且输入参数x
  1. 容器原来的尺寸小于n:容器尺寸扩展,并用第二个参数的元素进行填充
  2. 容器原来的尺寸等于n:容器元素不变,无视其余参数
  3. 容器原来的尺寸大于n:容器保留前n个元素,无视其余参数

erase

删除指定位置元素,返回值为删除元素的下一个指针

a.erase(a.begin()+n);
a.erase(a.begin()+x,a.begin()+y);

insert

向指定位置插入元素,插入位置之后的元素需要后移,时间复杂度为O(n)

a.insert(a.begin()+n,x);//向容器指定位置插入元素x
a.insert(a.begin()+n,number,x)//向容器指定位置插入,number个元素x
a.insert(a.begin()+n,b.begin()+x,b.begin()+y);//向容器指定位置插入另一个容器指定范围内的元素

emplace

与insert语法相同,但直接往指定位置添加元素,效率更高,

通用成员函数

a.clear();//清空容器,尺寸归零
a.push_back(x);//向容器尾部添加元素x
a.pop_back();//弹出容器最后一个元素

删除容器内所有指定条件的元素

for(auto iterator=a.begin();iterator!=a.end();)
    判断条件?iterator=a.erase(iterator):iterator++;

删除容器内所有指定条件的元素使用数组访问法和新标准访问法时需要注意下标,可能会出现跳元素的问题,例如:

for(int i=0;i<v.size();i++)
    if(判断条件)
        a.erase(a.begin()+i);//该元素删除之后,其后一个元素补充到当前下标所指位置,待for循环的i++执行时,该元素就会被跳过

参考

C++ vector类型要点总结(以及各种algorithm算法函数)

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信