高呼 "STL 大法好!!"
vector 是一个不限定容量的数组.
先说一下头文件
#include<vector>
1. 声明
- vector<int>v1;//vector 元素为 int 型
- vector<string>v2;// vector 元素为 string 型
2. 基本用法
- v1.push_back() // 在数组的最后添加一个数据, 要插入一个 23, 就直接 v1.push_back(23)
- v1.pop_back() // 去掉数组的最后一个数据
- v1.front() // 返回第一个元素(栈顶元素)
- v1.begin() // 得到数组头的指针, 用迭代器接受
- v1.end() // 得到数组的最后一个单元 + 1 的指针, 用迭代器接受
- v1.clear() // 移除容器中所有数据
- v1.empty() // 判断容器是否为空
- v1.erase(pos) // 删除 pos 位置的数据
- v1.erase(beg,end)// 删除 [beg,end) 区间的数据
- v1.size() // 回容器中实际数据的个数
我们来用用其中的一些
- cout<<"第一个元素为:" <<v.front()<<endl;// 输出第一个元素
- v.pop_back(); // 去掉最后一个元素
- cout <<"元素个数:" <<v.size() << endl;// 输出元素个数
- v.clear(); //vector 清空
3. 如果要遍历整个 vector, 注意不能直接用 int i 这样子的, 要定义一个迭代器的.
vector<int>::iterator it;
那么你就可以遍历了, 迭代器类似于指针.
- for(it=v.begin();it!=v.end();it++) // 输出迭代器的值
- cout<<*it<<" ";
来源: http://www.bubuko.com/infodetail-3458191.html