学习stl有段时间了,总想写点什么,做点笔记,然后就开始纠结了是先写allocator, vector还是别的,最终决定柿子先挑软的捏,从算法开始吧,此为我的第一作,呵呵.
一个比较简单的find算法,先声明不是容器内部的算法,是一个泛型算法~~
在此先向<
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
华丽的分割线
find()算法的用途主要是循环查找
//find.h
template
Iterator find(Iterator begin, Iterator end, const T &value) {
while(begin != end && *begin != value) {
++begin;
}
return begin;
}
测试程序
//main.cpp
#include
#include "find.h"
//#include
#include
#include
#include
#include
map::iterator iter4 = find(imap.begin(), imap.end(), make_pair(3, string("a")))
是错误的,因为make_pair(3, string("a")) 生成 pair故而用的是
map::iterator iter4 = find(imap.begin(), imap.end(), pair(3, string("a")));