C++STL学习笔记_(1)vector知识

时间:2023-03-10 07:39:03
C++STL学习笔记_(1)vector知识
#include<iostream>
using namespace std;
#include "vector" //数组元素的 添加和删除
void main31()
{
//获取元素的大小
vector<int> v1;
cout <<"length: "<<v1.size()<<endl;
v1.push_back();
v1.push_back();
v1.push_back();
cout <<"length: "<<v1.size()<<endl; cout<<"头部元素"<<v1.front()<<endl; //修改头部 元素的值
//函数返回值当左值
v1.front() = ;
v1.back() = ; //获取头部和尾部元素
while (v1.size()>)
{
cout<<"尾部元素"<<v1.back();//获取尾部的元素
v1.pop_back();//删除尾部元素
}
}
//vector的初始化
void main32()
{
//1.
vector<int> v1;
v1.push_back();
v1.push_back();
v1.push_back();
v1.push_back(); //2.
vector<int> v2 = v1;//对象初始化 //3.
vector<int> v3(v1.begin(),v1.begin()+); } void printV(vector<int> &v)
{
for (int i =;i<v.size();i++)
{
cout<<v[i]<<endl;
}
} //vector的遍历:通过数组的方式
void main33()
{
vector<int> v1();//提前把内存准备好
for (int i = ;i<;i++)
{
v1[i] = i + ;
} for (int i = ;i<;i++)
{
printf("%d\n",v1[i]);
}
printV(v1);
} //push back的强化
void main34()
{
vector<int> v1();//提前把内存准备好
v1.push_back();//从数组的尾部插入元素
v1.push_back();
cout<<"size:"<<v1.size()<<endl;
printV(v1);
} //迭代器
void main35()
{
vector<int> v1();
for (int i =;i<;i++)
{
v1[i] = i+;
}
//正序遍历
for (vector<int>::iterator it = v1.begin();it != v1.end();it++)
{
cout<<*it<<endl;
} //逆序遍历
for (vector<int>::reverse_iterator rit = v1.rbegin();rit != v1.rend();rit++)
{
cout<<*rit<<endl;
} } //vector 删除
void main36()
{
vector<int> v1();
for (int i =;i<;i++)
{
v1[i] = i+;
}
//区间删除
v1.erase(v1.begin(),v1.begin()+); //指定位置删除
v1.erase(v1.begin());//在头部删除一个元素
printV(v1); cout<<endl;
//根据元素的值
v1[] = ;
v1[] = ;
printV(v1); for (vector<int>::iterator it = v1.begin();it != v1.end();)
{
if (*it == )
{
//it = v1.erase(it) 删除后,要接回、新的位置
it = v1.erase(it);//当删除迭代器所指向的元素的时候,erase会让it自动下移
}
else
{
it++;
}
}
printV(v1); cout<<endl; //插入元素
v1.insert(v1.begin(),);
v1.insert(v1.end(),);
printV(v1);
} void main()
{
//main31();
//main33();
//main35();
main36();
cout<<"hello..."<<endl;
return;
}

C++STL学习笔记_(1)vector知识