简介
Vectors 包含着一系列连续存储的元素,其行为和数组类似。访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线性时间复杂度。
实验
#include <iostream>
#include <vector>
using namespace std;
/**
* vector容器:
* 动态数组 单口容器
* 数据结构是一张线性表,连续内存
*
* 1,迭代器:
* 正向迭代器 begin(), end()
* 反向迭代器 rbegin(),rend()
*
* 2,加入/删除
* 在尾部插入 push_back() 时间O(1)
* 删除尾部元素 pop_back() 时间O(1)
* 在i位置之前插入 insert() 时间O(n) 3个重载
* 1, iterator insert( iterator loc, const TYPE &val ); 在指定位置loc前插入值为val的元素,返回指向这个元素的迭代器,
* 2, void insert( iterator loc, size_type num, const TYPE &val ); 在指定位置loc前插入num个值为val的元素
* 3, void insert( iterator loc, input_iterator start, input_iterator end ); 在指定位置loc前插入区间[start, end)的所有元素
*
* 3,交换两个容器 swap (其实是指针交换)
*
* 4,初始化
* vector<T> vtr() ...
*
* 5,改变个数大小 resize()
*
* 6,第一个和最后一个元素 front(),back()
*
* 7,运算符重载进行访问元素不抛异常,而用成员函数会抛异常
*
* 8,一般来说支持中括号的运算符的访问可以支持迭代器随机访问! vector支持!
*/