c++ vector

vector

vector介绍

  • vector是STL标准库中的容器

  • 是一个序列式容器

  • 里面的底层实现是一个顺序表结构

  • 可以动态增长长度的数组

vector的特性

  • 数据自动初始化为0
  • 可以动态增长长度
  • 支持随机访问数据
  • 对内存边界进行检查

vector的使用

  1. 导入头文件
  2. 初始化
  3. 使用
//头文件
#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 数据的内存分配

  1. push_back //从尾部插入一个数据
  2. pop_back //从尾部删除一个数据
  3. insert //从指定的位置插入一个元素
  4. erase //从指定的位置删除(擦除)一个元素
  5. size //获取当前大小
  6. resize //重新调整大小
  7. assign //重新分配内存空间
  8. capacity //获取实际的内存空间
  9. clear //清除所有数据

vector数据的访问操作

  1. front //获取头部部元素
  2. back //获取尾部元素
  3. at //相当于 []
  4. data //返回数组指针
  5. begin //迭代器首地址
  6. end //迭代器结束地址
  7. rbegin //反向迭代器
  8. rend //反向迭代器结束地址

总结

  • 了解vector
  • vector使用方式
  • vector常用的函数
  • 如何兼容C语言

课后作业


  1. vector的基本使用
  2. vector兼容C语言
  3. 项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值