// adjacent_find.cpp -- 2011-10-01-23.20
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
using std ::vector ;
using std ::equal_to ;
int _tmain(int argc, _TCHAR* argv[])
{
int arr1[] = {1, 2, 3, 11, 4, 4, 8, 6, 7, 8 ,9} ;
vector<int> vec1(arr1, arr1 + sizeof arr1 / sizeof (int)) ;
// adjacent_find (beg, end) ;
// 操作前:[beg,end)标示输入序列.
// 操作后:确定输入序列中是否有重复元素.
// 返回值:如果输入序列中有重复元素,返回指向重复元素第一次出现位置的迭代器.
// 否则返回end.
// 备注: 无.
vector<int> ::iterator iter = adjacent_find(vec1.begin(), vec1.end()) ;
if (iter != vec1.end())
std ::cout << *iter << std ::endl ;
// adjacent_find (beg, end, equal<int> ()) ;
// 操作前:[beg,end)标示输入序列.equal<int> ()是二元函数对象.
// 操作后:确定输入序列中是否有重复元素.
// 返回值:如果输入序列中有重复元素,返回指向重复元素第一次出现位置的迭代器.
// 否则返回end.
// 备注: 重复元素是使equal<int> ()为真的元素.
iter = adjacent_find(vec1.begin(), vec1.end(), equal_to<int> ()) ;
if (iter != vec1.end())
std ::cout << *iter ;
std ::cin.get() ;
return 0 ;
}
adjacent_find
最新推荐文章于 2024-06-06 13:32:23 发布