C++算法for_each()和 includes()

 

算法

返回值

作用

for_each()

_Fn1

對範圍內的每一個元素進行某個動作

includes()

bool

涵蓋於

for_each()的參數

_InIt _First, _InIt _Last, _Fn1 _Func

includes()的參數

_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2, _InIt2 _Last2

 

vector<int> createStaticArr()

{

    vector<int> vectorInt;

    vectorInt.push_back(1);

    vectorInt.push_back(2);

    vectorInt.push_back(3);

    vectorInt.push_back(4);

    vectorInt.push_back(5);

    vectorInt.push_back(6);

    vectorInt.push_back(7);

    vectorInt.push_back(8);

    showArr(vectorInt);

    return vectorInt;

}

 

void showArr(vector<int> Arr)

{

    vector<int>::iterator iteArr = Arr.begin();

    for (iteArr ; iteArr != Arr.end(); iteArr++)

    {

        cout << *iteArr << "\t";

    }

    cout << endl;

}

 

//仿函數

void my_for_each_Fun(int &n)

{

    if (n > 5)

    {

        n += 5;

    }

}

 

void main()

{

    cout << "第一條:"; vector<int> arr1 = createStaticArr();

    cout << endl;

    for_each(arr1.begin(), arr1.end(),my_for_each_Fun);

    cout << "進行了for_each()方法後:"; showArr(arr1);

 

    cout << "第二條:"; vector<int> arr2 = createStaticArr();

    cout << endl;

    bool temp =

    includes(arr1.begin(), arr1.end(), arr2.begin(), arr2.begin() + 3);

    if (temp)

    {

        cout << "arr1包含arr2" << endl;

    }

}

 

//在includes()中,arr1包含arr2所有元素時返回true。

 

 

運行結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章