vector是C++中容器的一种,与普通的数组相比,它可以动态的增长,而且还有封装了用于顺序表的操作的方法。
使用vector定义了容器之后,如果定义了容器的大小,则可以在大小范围之内直接使用数组的方式进行访问。
#include<iostream> #include<vector> using namespace std; int main() { vector<int> a(10); for(int i=0;i<10;i++) { a[i]=i; } for(int i=0;i<a.size();i++) { cout<<a[i]<<" "; } return 0; }
如果没有定义容器的大小,或者有可能超出定义了的容器的大小的时候,可以使用push_back()成员函数将数组直接插入容器的最后面。
在没有定义容器大小并且没有向容器中插入任何任何值得时候,是不可以使用数组的方式进行访问的。
#include<iostream> #include<vector> using namespace std; int main() { vector<int> a; int n; cin>>n; //装入数据 for(int i=0;i<n;i++) { a.push_back(i); } //使用数组格式输出 for(int i=0;i<a.size();i++) { cout<<a[i]<<" "; } cout<<endl; //使用迭代器进行访问 vector<int>::iterator p; for(p = a.begin();p<a.end();p++) { cout<<*p<<" "; } cout<<endl; //对vector数组清空 if(!a.empty()) { cout<<"a is no empty"<<endl; } a.clear(); if(a.empty()) { cout<<"a is empty now"<<endl; } }