C++:vector的begin()& end()&front(
2020-04-18 本文已影响0人
AI秘籍
1.begin()函数
函数原型:
iterator begin();
const_iterator begin();
功能:返回一个当前vector容器中起始元素的迭代器。
2.end()函数
函数原型:
iterator end();
const_iterator end();
功能:返回一个当前vector容器中末尾元素的迭代器。
begin()和end()大多用在sort()排序的时候,和for(iter=vector.begin();iter!=vector.end())的情况;
3.front()函数
函数原型:
reference front();
const_reference front();
功能:返回当前vector容器中起始元素的引用。
4.back()函数
函数原型:
reference back();
const_reference back();
功能:返回当前vector容器中末尾元素的引用。
5.find()函数
不同于map(map有find方法),vector本身是没有find这一方法,其find是依靠algorithm来实现的。
在vector容器中查找6的数字.
#include <iostream>
#include <algorithm>
#include <vector>
int main()
{
using namespace std;
vector<int> vec;
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
vec.push_back(4);
vec.push_back(5);
vec.push_back(6);
vector<int>::iterator it = find(vec.begin(), vec.end(), 6);
if (it != vec.end())
cout<<*it<<endl;
else
cout<<"can not find"<<endl;
return 0;
}
记着要包含algorithm这一头文件,其定义了find这一函数。
建议大家还是自己手动敲一下。
以后不用再自己遍历,直接调用此函数就可以了.
6.示例
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<char> v1;
v1.push_back('m');
v1.push_back('n');
v1.push_back('o');
v1.push_back('p');
cout << "v1.front() = " << v1.front() << endl;
cout << "v1.back() = " << v1.back() << endl;
vector<char>::iterator iter1;
vector<char>::iterator iter2;
iter1 = v1.begin();
cout << *iter1 << endl;
//注意v1.end()指向的是最后一个元素的下一个位置,
// 所以访问最后一个元素的正确操作为:v1.end() - 1;
iter2 = v1.end()-1;
cout << *iter2 << endl;
return 0;
}
参考:
-
image.png