学习:容器算法迭代器

vector存放内置数据类型:

容器: vector

算法: for_each

迭代器: vector ::iterator

示例代码:

#include<iostream>
#include<algorithm>
#include<string>
#include<vector>

using namespace std;

//第三种方法需要的函数
void toprint(int val) {
    cout << val << endl;
//其实我们可以看下for_each的定义中实现的
    //for (; _UFirst != _ULast; ++_UFirst)
    //{
    //  _Func(*_UFirst); 把传入的函数进行了调用,func传入的是*
    //}
}

void test01() {
    vector<int> v; //创建一个int类型的vector容器

    v.push_back(10); //放入相应的数值
    v.push_back(20);
    v.push_back(30);
    v.push_back(40);


    //第一种方式进行遍历容器中的数值

    //vector<int>::iterator 拿到vector<int>这种容器的迭代器类型
    //vector<int>::iterator pBegin = v.begin(); //v.begin()返回迭代器,这个迭代器指向容器中第一个数据
    //vector<int>::iterator pEnd = v.end(); //v.end()返回迭代器,这个迭代器指向容器元素的最后一个元素的下一个位置
    //while (pBegin != pEnd) {
    //  cout << *pBegin << endl;
    //  pBegin++;
    //}

    //第二种方式进行遍历容器中的数值
    //for (vector<int>::iterator pBegin = v.begin(); pBegin < v.end(); pBegin++) {
    //  cout << *pBegin << endl;
    //}

    //第三种方式进行遍历容器中的数值

    //该函数的定义_Fn for_each(_InIt _First, _InIt _Last, _Fn _Func)
    for_each(v.begin(), v.end(), toprint);
}

int main() {

    test01();

    system("pause");
    return 0;
}

vector存放自定义数据类型:

猜你喜欢

转载自www.cnblogs.com/zpchcbd/p/11938865.html
今日推荐