C++ Primer 学习中。。
。
简单记录下我的学习过程 (代码为主)
//全部容器适用
equal(b,e,b2) //用来比較第一个容器[b,e)和第二个容器b2开头,是否相等 equal(b,e,b2,p)
mismatch(b,e,b2) //用来查找两个容器中第一个不相等的数据,返回迭代器 mismatch(b,e,b2,p)
lexicographical_compare(b,e,b2,e2) //用来比較第一个区间是否比第二个区间小 lexicographical_compare(b,e,b2,e2,p)
#include#include #include #include #include #include
using namespace std;/*****************************************//全部容器适用equal(b,e,b2) //用来比較第一个容器[b,e)和第二个容器b2开头。是否相等equal(b,e,b2,p)mismatch(b,e,b2) //用来查找两个容器中第一个不相等的数据,返回迭代器mismatch(b,e,b2,p)lexicographical_compare(b,e,b2,e2) //用来比較第一个区间是否比第二个区间小lexicographical_compare(b,e,b2,e2,p)*****************************************//*************************************************************************************std::equal 全部排序容器适用 algorithm--------------------------------------------------------------------------------------template bool equal ( InputIterator1 first1, InputIterator1 last1, InputIterator2 first2 );template bool equal ( InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, BinaryPredicate pred );//eg:template bool equal ( InputIterator1 first1, InputIterator1 last1, InputIterator2 first2 ){ while ( first1!=last1 ) { if (!(*first1 == *first2)) // or: if (!pred(*first1,*first2)), for pred version return false; ++first1; ++first2; } return true;}*************************************************************************************//*************************************************************************************std::mismatch 全部排序容器适用 algorithm--------------------------------------------------------------------------------------template pair mismatch (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2 );template pair mismatch (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, BinaryPredicate pred );//eg:template pair mismatch (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2 ){ while ( (first1!=last1) && (*first1==*first2) ) // or: pred(*first1,*first2), for the pred version { ++first1; ++first2; } return make_pair(first1,first2);}*************************************************************************************//*************************************************************************************std::lexicographical_compare 全部排序容器适用 algorithm--------------------------------------------------------------------------------------template bool lexicographical_compare ( InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2 );template bool lexicographical_compare ( InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, Compare comp );//eg:template bool lexicographical_compare ( InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2 ){ while (first1!=last1) { if (first2==last2 || *first2<*first1) return false; else if (*first1<*first2) return true; first1++; first2++; } return (first2!=last2);}*************************************************************************************/bool mypredicate (int i, int j){ return (i==j);}bool mycomp (char c1, char c2){ return tolower(c1)