1.vector:向量 --->动态数组
1.如何创建
注意点: 创建的容器不具有长度限制,插入方式只能通过成员的函数方式做插入
2.如何使用
push_back(); --->尾插法
pop_back(); --->尾删法//万金油函数
empty(); ---->判断是否为NULL
size(); ---->判断容器中数据个数
front(); ---->获取第一个元素
back(); ---->获取最后一个元素
clear(); ---->清除向量的元素
assign() ---->拷贝一段数据初始化容器
at() ---->如果索引小于零、或者大于等于 size(),
则返回对向量中指定位置处的元素的引用,并引发 out_of_range 异常。
2.基本操作
1.声明
vector<int> intVector; vector<string> strVector;
2.普通初始化
注意:超过声明的长度,需要使用成员函数插入
vector<string> strVector; //存储的是string类型 //1.1具备长度的创建 vector<char> charVector(3); //容器的长度是3 charVector[0] = 'A'; charVector[1] = 'B'; charVector[2] = 'C'; //超过长度只能通过成员函数做插入 charVector.push_back('D');
3.其他初始化方法
//让一个数组初始化动态数组 int memory[4] = { 1, 2, 3, 4 }; vector<int> myMemory; myMemory.assign(memory, memory + 4);
//实现一个容器初始化另一个容器 vector<int> num; num.assign(myMemory.begin(), myMemory.end());
4.迭代器
vector<int>::iterator numIter; //迭代器类似指针 *迭代器:取当前迭代器所指定的位置中的元素 //迭代器的初始化:固定函数 begin() end(); for (numIter = num.begin(); numIter != num.end(); numIter++) {cout << *numIter << "\t" ; } cout << endl; cout << "反向迭代器:" << endl; vector<int>::reverse_iterator rIter; for (rIter = num.rbegin(); rIter != num.rend(); rIter++) {cout << *rIter << "\t"; }