C++STL中vector容器 begin()与end()、front()与back()、find()函数的用法

  • Post author:
  • Post category:其他




一、begin函数


函数原型:


iterator begin();


const_iterator begin();


功能:返回一个当前vector容器中起始元素的迭代器。




二、end函数


函数原型:


iterator end();


const_iterator end();


功能:返回一个当前vector容器中末尾元素的迭代器。




三、front函数


函数原型:


reference front();


const_reference front();


功能:返回当前vector容器中起始元素的引用。




四、back函数


函数原型:


reference back();


const_reference back();


功能:返回当前vector容器中末尾元素的引用。


说了这么多,实例才是最能说明问题的,相信聪明的你一定可以理解的:

#include <iostream>
#include <vector>
using namespace std;
int main()
{
	vector<char> v1;
	vector<char>::iterator iter1;
	vector<char>::iterator iter2;
	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;
 
	iter1 = v1.begin();
	cout << *iter1 << endl;
	iter2 = v1.end()-1; //注意v1.end()指向的是最后一个元素的下一个位置,所以访问最后一个元素的正确操作为:v1.end() - 1          
	cout << *iter2 << endl;
	return 0;
}

输出结果:

v1.front() = m

v1.back() = p

m

p


五、find函数


不同于map(map有find方法),vector本身是没有find这一方法,其find是依靠algorithm来实现的。


例如,在vector容器中查找6的数字。

#include <iostream>
#include <algorithm>   //find函数的调用需要包含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;
}

参考:



C++:vector的begin()& end()&front()&back()&find()_SSS_369-CSDN博客


1.begin函数函数原型:iterator begin();const_iterator begin();功能:返回一个当前vector容器中起始元素的迭代器。2.end函数函数原型:iterator end();const_iterator end();功能:返回一个当前vector容器中末尾元素的迭代器。3.front函数函数原型:refere…



https://blog.csdn.net/sss_369/article/details/100051946