目录
C++ vector学习笔记
0.vector使用迭代的方式打印内容
1.vector的几种初始化方式
2.vector常用的赋值操作
3.vector大小操作
4.vector 存取数据
5.vector插入和删除元素
6.vector 巧用swap缩减空间
7.vector中reserve 预留空间 resize区别
void printVector(vector& v)
{
for(vector::iterator it = v.begin();it!=v.end();it++)
{
cout<<*it<<" ";
}
cout<
void test01()
{
vector
int arr[] = {1,2,3,4,5};
//使用数组元素进行初始化
vector v2(arr,arr+sizeof(arr)/sizeof(int));
//使用vector指定起点,终点进行初始化
vector v3(v2.begin(),v2.end());
//直接使用vector进行初始化
vector v4(v3);
//打印结果
printVector(v2);
printVector(v3);
printVector(v4);
}
void test02()
{
int arr[] = {1,2,3,4,5};
//默认构造
vector v(arr,arr+sizeof(arr)/sizeof(int));
//成员方法
//assign 赋值
vector v2;
v2.assign(v.begin(),v.end());
//重载 =
vector v3;
v3 = v2;
printVector(v);
printVector(v2);
printVector(v3);
cout<<"--------------------------"< v4(arr2,arr2+sizeof(arr2)/sizeof(int));
//交换当前两个vector的元素
v4.swap(v);
printVector(v);
printVector(v2);
printVector(v3);
printVector(v4);
//此处实验证明:v4.swap(v),仅仅会交换v与v4的内容
}
void test03()
{
int arr[]={1,2,3,4,5};
vector v(arr,arr+sizeof(arr)/sizeof(int));
cout<<"The size of v is:"<
void test04()
{
int arr[] = {1,2,3,4,5};
vector v(arr,arr+sizeof(arr)/sizeof(int));
for(int i = 0;i
void test05()
{
vector v;
//尾插
v.push_back(2);
v.push_back(3);
//头插
v.insert(v.begin(),1);
//vector支持随机访问
v.insert(v.begin()+3,4);
//支持数组下标,一般都支持随机访问
//迭代器可以直接+2 +3 -2 -5操作
printVector(v);//1 2 3 4
//删除
v.erase(v.begin());
printVector(v);//2 3 4
v.erase(v.begin()+1,v.end());
printVector(v);//2
v.clear();
cout<<"size:"<
void test06()
{
//vector添加元素,他会自动增长,你删除元素时,会自动减少么?
vector v;
for(int i=0;i<100;i++)
{
v.push_back(i);
}
cout<<"size "<(v).swap(v);
cout << "size: " << v.size() << endl;//10
cout << "capacity: " << v.capacity() << endl;//10
}
void test07()
{
int num = 0;
int* address = NULL;
vector v;
v.reserve(1000);
for(int i =0;i<1000;i++)
{
v.push_back(i);
if(address != &(v[0]))
{
address = &(v[0]);
num++;
}
}
cout<<"num: "<