STL 学习之 vector

mac2022-06-30  28

#include < iostream > #include < stdio.h > #include < vector > #include < algorithm > using namespace std; int main(){ vector < int > v( 3 , 5 ); // 创建长度为3 初值为5的向量 // v[0]=0;数组下标给向量元素赋值 无法动态增加向量长度 v[ 0 ] = 1 ; // 有下标方式改变向量内元素值 v.push_back( 2 ); // 用push_back方法向向量尾部添加元素 动态增加向量长度 v.push_back( 3 ); v.push_back( 4 ); vector < int > ::iterator it; // 用迭代器访问向量元素 for (it = v.begin();it < v.end();it ++ ) { printf( " %d " , * it); } printf( " \n " ); v.insert(v.begin(), 8 ); // 在最前面加入新元素 8 v.insert(v.begin() + 2 , 1 ); // 在v[2]元素位置上加入新元素 1 其余依次往后串一位 v.insert(v.end(), 3 ); // 在向量末尾加入新元素 3 for ( int i = 0 ;i < v.size();i ++ ) // 用数组下标的方式访问向量元素 { printf( " %d " ,v[i]); } printf( " \n " ); v.erase(v.begin()); // 删除迭代器0位置的元素 v.erase(v.begin() + 2 ,v.begin() + 5 ); // 删除迭代器第2到第5之间的元素:v[2],v[3],v[4] for (it = v.begin();it < v.end();it ++ ) { printf( " %d " , * it); } printf( " \n " ); reverse(v.begin(),v.end()); // 反向排列向量从首到尾间的元素 for (it = v.begin();it < v.end();it ++ ) { printf( " %d " , * it); } printf( " \n " ); v.clear(); // 清空向量内元素 printf( " 输出向量是否为空: %d " ,v.empty()); return 0 ;}

转载于:https://www.cnblogs.com/cyiner/archive/2011/05/24/2055962.html

相关资源:C STL学习?vector
最新回复(0)