find

[機能]

  指定した範囲で,指定した要素を探します.

[形式]
	#include <algorithm>
	#include <functional>

	template <class InputIterator, class T> InputIterator find(InputIterator first, InputIterator last, const T& value);
		

[使用例]

  1. find と find_if の使用方法です.
    #include <stdio.h>
    #include <vector>
    #include <algorithm>
    #include <functional>
    using namespace std;
    					// 奇数の判定
    class is_odd : public unary_function<int, bool>
    {
    	public:
    		result_type operator() (argument_type k)
    		{
    			return (result_type)(k % 2);
    		}
    };
    
    int main()
    {
    	vector<int> v;
    	vector<int>::iterator it;
    					// 初期設定
    	printf("**初期状態**\n");
    	v.push_back(4);
    	v.push_back(2);
    	v.push_back(2);
    	v.push_back(3);
    	v.push_back(4);
    	for (it = v.begin(); it != v.end(); it++)
    		printf("  %d", *it);
    	printf("\n");
    					// 検索
    	it = find(v.begin(), v.end(), 2);
    	if (it != v.end())
    		printf("%d が見つかりました\n", *it);
    	else
    		printf("2 が見つかりませんでした\n");
    
    	it = find_if(v.begin(), v.end(), is_odd());
    	if (it != v.end())
    		printf("奇数 %d が見つかりました\n", *it);
    	else
    		printf("奇数が見つかりませんでした\n");
    
    	return 0;
    }
    
    (出力)
    
    **初期状態**
      4  2  2  3  4
    2 が見つかりました
    奇数 3 が見つかりました
    			
[参照]

adjacent_findfind_iffind_endfind_first_ofsearchsearch_nbinary_search

ホームページ 目次 演習解答例目次 付録目次 索引