vector详解
/*vector向量容器*/ //用数组方式访问vector元素 #include<iostream> #include<vector> #include<cstdio> using namespace std; int main() { vector<int>v; v.push_back(20);//尾端插入新元素 v.push_back(26); v.push_back(12); for(int i=0;i<v.size();i++) cout<<v[i]<<' '; getchar(); return 0; } //输出:20 26 12 //用迭代器访问vector #include<iostream> #include<vector> #include<cstdio> using namespace std; vector<int>v; void print()//迭代器遍历 { int j; vector<int>::iterator i; for(i=v.begin(),j=0;i!=v.end();i++,j++) cout<<"v["<<j<<"]="<<*i<<" "; cout<<endl; } int main() { int j; v.push_back(0);/*尾端插入新元素*/ print(); v.push_back(1);print(); /*v.clear();全部清空元素 */ v.push_back(2);print(); v.insert(v.begin()+2,9);/*插入9在第二个后面 */print(); v.insert(v.begin(),5);/*插入5为首元素print(); */print(); v.insert(v.end(),12);/*插入12为末元素 */print(); v.erase(v.begin()+1);/*删除第2个元素 */print(); v.erase(v.begin(),v.begin()+2);/*删除前两个元素 */print(); swap(v[1],v[2]);print(); cout<<v.empty()<<endl;/*判断是否为空 */ cout<<v.size()<<endl;/*元素实际个数 */ cout<<v.max_size()<<endl;/*可容纳的最大元素个数 */ cout<<v.size()<<endl; cout<<v.capacity()<<endl;/*当前可容纳的vector元素个数 */ cout<<v.front()<<endl;/*首元素引用*/ cout<<v.back()<<endl;/*末元素引用 */ v.pop_back();/*删除末尾的一个元素 */print(); v.reserve(30);/*调整数据空间大小 */ cout<<v.capacity()<<endl; vector<int>::reverse_iterator ri;//反向迭代器 for(ri=v.rbegin();ri!=v.rend();ri++)//首尾反向 cout<<*ri<<" "; getchar(); return 0; } /*输出: v[0]=0 v[0]=0 v[1]=1 v[0]=0 v[1]=1 v[2]=2 v[0]=0 v[1]=1 v[2]=9 v[3]=2 v[0]=5 v[1]=0 v[2]=1 v[3]=9 v[4]=2 v[0]=5 v[1]=0 v[2]=1 v[3]=9 v[4]=2 v[5]=12 v[0]=5 v[1]=1 v[2]=9 v[3]=2 v[4]=12 v[0]=9 v[1]=2 v[2]=12 v[0]=9 v[1]=12 v[2]=2 0 3 1073741823 3 8 9 2 v[0]=9 v[1]=12 30 12 9*/ /*reverse 颠倒 vector 向量*/