#include<iostream>
#include"vector"
using namespace std;
void printV(vector<int> &v1) //用来输出容器
{
for (vector<int>::iterator it = v1.begin(); it != v1.end(); it++) //begin指在开始元素, end指在结束元素的后面
{
cout << *it << " ";
}
cout << endl;
}
void f1()
{
vector <int> v1;
cout << "length: " << v1.size() << endl; //用size()求长度
v1.push_back(1);
v1.push_back(3);
v1.push_back(5);
cout << "length: " << v1.size() << endl;
cout << "头部元素:" << v1.front() << endl; //获取头部元素
while (v1.size() > 0)
{
cout << "尾部元素: " << v1.back() << endl; //获取尾部元素
v1.pop_back(); //删除尾部元素
}
//修改头部和尾部元素的值
v1.front() = 11;
v1.back() = 55;
cout << "头部元素:" << v1.front() << endl;
cout << "尾部元素: " << v1.back() << endl;
}
//vector的定义和迭代器遍历
void f2()
{
vector <int> v1(10);
for (int i = 0; i < 10; i++)
{
v1[i] = i + 1;
}
//正向遍历
for (vector<int>::iterator it = v1.begin(); it != v1.end(); it++) //begin指在开始元素, end指在结束元素的后面
{
cout << *it << " ";
}
cout << endl;
//逆向遍历
for (vector<int>::reverse_iterator rit = v1.rbegin(); rit != v1.rend(); rit++)
{
cout << *rit << " ";
}
}
//vector 删除 插入
void f3()
{
vector <int> v1(10);
for (int i = 0; i < 10; i++)
{
v1[i] = i + 1;
}
//删除前3个元素
v1.erase(v1.begin(), v1.begin() + 3);
printV(v1);
//在头部删除一个元素
v1.erase(v1.begin()); //在头部删除一个元素
//根据元素的值删除
for (vector<int>::iterator it = v1.begin(); it != v1.end(); )
{
if (*it == 9)
it = v1.erase(it); //当删除迭代器所指向的元素的时候,erase删除函数会让it自动下移
else //同时返回下一个有效的迭代器
it++;
}
printV(v1);
//插入
v1.insert(v1.begin(),100);
v1.insert(v1.end(), 200);
printV(v1);
}
int main()
{
f3();
return 0;
}
vector容器基本用法
最新推荐文章于 2024-08-02 23:57:24 发布