C++标准模板库STL 个人小总结vector
来源:互联网 发布:阿斯兰爆种 知乎 编辑:程序博客网 时间:2024/04/29 09:19
vector向量
本质:对数组的封装
特点:读取能在常数时间完成
vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的
初始化vector对象的方式
1、vector<T> v1; vector保存类型为T的对象。默认构造函数v1为空
2、vector<T> v2(v1); v2是v1的一个副本
3、vector<T> v3(n,i); v3包含n个值为i的元素
4、vector<T> v4(n); v4包含有值初始化元素的n个副本
具体使用
vector<int> ivec1;//初始化了一个空的向量 vector<int> ivec2(ivec1);//用空的向量又去初始化了一个空的向量 vector<string> svec1; vector<string> svec2(ivec);vector<int> ivec4(10,-1);//用10个-1上的元素初始化了ivec4 vector<string> svec(10,"hi!");//是10个hi!这样的字符串初始化了svec
vector常用函数
empty() 判断向量是否为空
begin() 返回向量迭代器的首元素
end() 返回向量迭代器末元素的下一个元素
clear() 清空向量
front() 第一个数据
back() 最后一个数据
size() 获得向量中数据大小
push_back(elem) 将数据插入向量尾
pop_back() 删除向量尾部数据
…… ……
举个例子
int main(){vector<int> vec;vec.push_back(10);vec.push_pop();//会将上面插入的10删掉 cout << vec.size() <<endl;return 0;}
遍历时可以像数组一样
for(int k=0 ;k<vec.size(); k++){cout<< vec[k] <<endl; }
迭代器:iterator
int main(){vector vec;vec.push_back("hello");vector<string>::iterator citer = vec.begin();for(;citer != vec.end();citer++ )//vec.end()代表向量迭代器末元素的下一个元素{cout<< *citer << endl;}return 0;}
- C++标准模板库STL 个人小总结vector
- STL标准模板库vector
- C++:标准模板库vector
- 标准模板库(STL)使用---vector
- 标准模板库STL详解之vector
- 标准模板库STL之vector
- C++:标准模板库(STL)
- C++STL标准模板库
- C++ STL标准模板库vector的求长度size()-1的一个小坑
- 标准模板库vector的总结
- STL标准库Vector
- 标准模板库使用举例(STL - (LIST,VECTOR))
- 标准模板库(STL)学习探究之vector容器
- 精通标准模板库STL的向量Vector用法
- 标准模板库STL中vector使用参考手册
- 标准模板库(STL)学习探究之vector容器
- 标准模板库(STL)学习探究之vector容器
- 标准模板库(STL)学习探究之vector容器
- Android 深入理解Android中的自定义属性
- 他人的求职经验
- 【String格式化】千位分隔符并保留两位小数
- js表单和submit 区别
- php7用composer安装 Captcha 扩展包
- C++标准模板库STL 个人小总结vector
- Apollo配置中心介绍
- sublime插件
- Java中Comparable与Comparator的区别
- ios-通知补充
- windows路由表设置
- 如何将绿色中文版的PDF编辑器下载下来
- 50道SQL练习题
- Jenkins之jobs工作空间根目录与构建记录根目录配置