C++STL的vector中front(),back(),begin(),end()的用法
程序员文章站
2022-03-23 09:19:36
...
一、front( ),back( )的使用
arr.front();
返回的是第一个元素的引用。arr.back();
返回的的是最后一个元素的引用。
如果定义int c = a.back()
,c并不是一个引用,操作b不会对a中的最后一个元素造成影响。
若定义int &b=a.front();
,则对b的操作会影响a中第一个元素。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> a = { 1,2,3,4,5,6,7,8,9 };
int &b = a.front();
b = 100;
cout << b << endl; //b=100
cout << a.front() << endl; //a.front()=100
int c = a.back();
c = 50;
cout << c << endl; //c=50
cout << a.back() << endl; //a.back()=9
system("pause");
return 0;
}
二、begin( ),end( )的使用
从前向后遍历
vector<int>::iterator itr1 = arr.begin();
while (itr1 != arr.end())
{
//do something
}
从后向前遍历
vector<int>::iterator itr2 = arr.end()-1;//arr.end()是指向末尾的指针,arr.end()-1才指向最后一个元素
int len2 = 0;
while (itr2 != arr.begin())
{
//do something
}
三、reverse( )的使用
需要头文件#include<algorithm>
reverse(vec.begin(),vec.end());
将元素翻转,即逆序排列。
上一篇: C数据结构-求二叉树的高度