1. 程式人生 > 其它 >c++ std標準庫 演算法<algorithm> 查詢演算法 find() find_if()

c++ std標準庫 演算法<algorithm> 查詢演算法 find() find_if()

技術標籤:# 4.1 C++c++查詢演算法findfind_if

#include <functional>
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

template <class T>
void FillValue(T& vect, int first, int last)
{
	if (last >= first)
	{
		for (int i = first; i <= last;
++i) vect.insert(vect.end(), i); } else { cout << " The indexes is error: last < first. " << endl; } } void print(int elem) { cout << elem << " "; } void main() { vector <int> myvector; FillValue(myvector, -3, 12); for_each(myvector.
begin(), myvector.end(), print); cout << endl; vector <int>::iterator pos1; pos1 = find(myvector.begin(), myvector.end(), 5); vector<int>::iterator pos2; pos2 = find_if(myvector.begin(), myvector.end(), bind2nd(greater<int>(), 3)); cout << "第一個等於5的元素位置 :"
<< distance(myvector.begin(), pos1) + 1 << endl; cout << "第一個大於3的元素位置 :" << distance(myvector.begin(), pos2) + 1 << endl; }

在這裡插入圖片描述