算法 |
返回值 |
作用 |
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。
運行結果: