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;
}

参考:

  1. image.png
上一篇 下一篇

猜你喜欢

热点阅读