STL---基本算法---<stl_algobase.h>概述
2013-07-04 20:31
375 查看
通过一个实例来说明这些算法的接口使用:
在看下面一些算法:
#include <iostream> #include <algorithm> #include <functional> #include <vector> #include <cstring> using namespace std; template <class T> struct display{ void operator()(const T& x)const{ cout<<x<<" "; } }; int main() { int ia[9]={0,1,2,3,4,5,6,7,8}; vector<int> iv1(ia,ia+5); vector<int> iv2(ia,ia+9); cout<<equal(iv1.begin(),iv1.end(),iv2.begin())<<endl;//1,true fill(iv1.begin(),iv1.end(),9);//区间全部填9 for_each(iv1.begin(),iv1.end(),display<int>()); cout<<endl; fill_n(iv1.begin(),3,7); for_each(iv1.begin(),iv1.end(),display<int>()); cout<<endl; string s1[]={"jamie","jjHou","jason"}; string s2[]={"jamie","jjhou","jerry"}; cout<<lexicographical_compare(s1,s1+2,s2,s2+2)<<endl; cout<<lexicographical_compare(s1,s1+2,s2,s2+2,greater<string>())<<endl; //字典序对比,s1小于s2 return 0; }
在看下面一些算法:
#include <iostream> #include <algorithm> #include <functional> #include <vector> #include <cstring> #include <set> #include <iterator> using namespace std; template <class T> //这是一个函数对象 struct display{ void operator()(const T& x)const{ cout<<x<<" "; } }; int main() { int ia[]={0,1,2,3,4,5,6,6,6,7,8}; vector<int> iv(ia,ia+sizeof(ia)/sizeof(int)); cout<<count(iv.begin(),iv.end(),6)<<endl;//找出元素值为6的个数 cout<<count_if(iv.begin(),iv.end(),bind2nd(less<int>(),7))<<endl; cout<<*find_if(iv.begin(),iv.end(),bind2nd(greater<int>(),2))<<endl; for_each(iv.begin(),iv.end(),display<int>()); cout<<endl; reverse(iv.begin(),iv.end()); //逆序重排 for_each(iv.begin(),iv.end(),display<int>());//输出每一个元素 cout<<endl; int ia2[]={0,1,2}; vector<int> iv2(ia2,ia2+3); vector<int>::iterator ite=find_first_of(iv.begin(),iv.end(),iv2.begin(),iv2.end()); //在第一个区间序列中查找第二序列中任意元素第一次出现的位置,返回该位置的迭代器 while(ite!=iv.end()) { cout<<*ite<<" "; ite++; } return 0; }
相关文章推荐
- STL---基本算法---<stl_algobase.h>概述
- STL源码剖析 - 第6章 算法(algorithms) - 基本算法<stl_algobase.h>
- STL源码剖析——基本算法stl_algobase.h
- STL源代码剖析——基本算法stl_algobase.h
- stl之基本算法《stl_algobase.h》
- STL经典算法集锦<一>之list::sort
- 【C++ STL】算法 <algorithm>中各种算法解析
- [C++STL]算法<algorithm>中各种算法解析
- 【C++ STL】算法 <algorithm>中各种算法解析
- STL 源码剖析 算法 stl_algobase.h
- OpenCV 2 学习笔记(12): 算法的基本设计模式<3>:单例模式(Singleton pattern)
- 【STL】<algorithm><numeric><functional> 中的常用算法
- 解读Cardinality Estimation<基数估计>算法(第一部分:基本概念)
- 【C++ STL】算法 <algorithm>中各种算法解析
- STL数值算法<numeric>
- 【C++ STL】算法 <algorithm>中各种算法解析
- STL经典算法集锦<七>之随机洗牌(random_shuffle)
- [C++STL]算法<algorithm>中各种算法解析
- OpenCV 2 学习笔记(10): 算法的基本设计模式<1>:策略模式(strategy pattern)
- SGISTL源码探究-stl_algobase.h中的算法