vector模板
一、STL编程
- 核心:
- 容器(Container):用于管理一类对象的集合(deque、list、vector、map)
- 算法(Algoritms):算法作用于容器(排序、初始化、搜索、转换)
- 迭代器(iterators):用于遍历对象集合(容器、容器的子集)的元素
- 拥有丰富的预定义函数
二、vector容器
- 动态大小数组的顺序容器
- 特性:
- 顺序序列
- 动态
- 感知内存分配器
三、基本函数
- 构造函数
vector
创建空vector
vector(int Size)
创建Size个元素的vecotr
vector(int Size, const t& t)
创建Size个元素的vecotr,且元素均为t
vector(const vector&)
拷贝构造函数
vecotr(begin,end)
复制\([begin,end)\) 区间内另一个数组元素到vector中
- 增加函数
push_back()
尾部添加一个元素
- 删除函数
pop_back()
尾部删除一个元素
- 遍历函数
ilterator begin()
返回向量头指针
ilterator end()
返回向量尾指针(指向最后一个元素的下一个位置)
- 判断函数
- 大小函数
- 其他函数
四、迭代器(ilterator)
- 遍历存储空间连续的数据结构
- 实质:指针
- 可用容器:vector、deque、list、set、multiset、map、multimap
- 分类:前向迭代器、双向迭代器、随机访问迭代器
- 对于
vector
容器的三种遍历
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<int> x{1,2,3,4,5,6,7,8,9,10};
//遍历一
for(int i = 0;i < 10;i++){
cout << v[i] << " ";
}
cout << endl;
//遍历二
for(int *p = v.begin();p != v.end();p++){
cout << *p << " ";
}
cout << endl;
//遍历三
vector<int>::ilterator i;
for(i = v.begin();i != v.end();i++){
cout << *i << " ";
}
cout << endl;
}