vector
文章目录
vector介绍
-
vector是STL标准库中的容器
-
是一个序列式容器
-
里面的底层实现是一个顺序表结构
-
可以动态增长长度的数组
vector的特性
- 数据自动初始化为0
- 可以动态增长长度
- 支持随机访问数据
- 对内存边界进行检查
vector的使用
- 导入头文件
- 初始化
- 使用
//头文件
#include <vector>
using namespace std;
//类的原型
template <typename T>
class vector{
vector();
vector(int size);
vector<int size,fill);
};
vector的初始化的方法
//例
//vector<类型> 变量名
vector<int> vec; //创建了一个动态数组
vector<char> vec2(10) //创建了一个数组长度为10
vector中的迭代器
STL容器中,为我们提供了两个迭代器指针,分别指向头和尾
- begin 指向首地址(有数据,指向第一个元素)
- end 指向结束的地址(指向空数据)
vector<int> vec(10);
vector<int>::iterator iter=vec.begin();
*iter=10;
cout<<iter[0]<<endl;
迭代器的遍历
for (auto it = v.begin(); it != v.end(); it++)
{
cout << (*it) << " ";
}
cout << "\b\n";
vector 兼容C语言
//通过data函数返回C语言指针
vector<int> vec(10);
int *p=vec.data();
//通过首地址和尾地址,进行拷贝原来的数组
int arr[10] = { 98, 21, 654, 78, 6, 54, 21, 32, 65, 12 };
vector<int> vec2(arr,arr+10);
vector常用的函数
vctor 数据的内存分配
push_back
//从尾部插入一个数据pop_back
//从尾部删除一个数据insert
//从指定的位置插入一个元素erase
//从指定的位置删除(擦除)一个元素size
//获取当前大小resize
//重新调整大小assign
//重新分配内存空间capacity
//获取实际的内存空间clear
//清除所有数据
vector数据的访问操作
front
//获取头部部元素back
//获取尾部元素at
//相当于 []data
//返回数组指针begin
//迭代器首地址end
//迭代器结束地址rbegin
//反向迭代器rend
//反向迭代器结束地址
总结
- 了解vector
- vector使用方式
- vector常用的函数
- 如何兼容C语言
课后作业
- vector的基本使用
- vector兼容C语言
- 项目