算法库(五)
来源:互联网 发布:替代硕鼠的软件 编辑:程序博客网 时间:2024/05/18 01:39
13. lexicographical_compare:按字典顺序比较
class _functorTest
{
public:
enumcpm_enum{ normal_cpm,nonormal_cpm };
_functorTest(cpm_enum param =nonormal_cpm ):_cValue( param ){}
static bool cpm_fun( const char _left,const char _right )
{
returntoupper( _left ) < toupper( _right );
}
bool operator()( conststring _fLeft,const string _fRight )
{
if( _cValue == normal_cpm )
{
return _fLeft < _fRight;
}
else
{
returnlexicographical_compare(_fLeft.begin(),_fLeft.end(),_fRight.begin(),_fRight.end(),cpm_fun);
}
}
private:
constcpm_enum _cValue;
};
int main()
{
_functorTest fun(_functorTest::nonormal_cpm );
typedef map<string,string,_functorTest>map_Functor;
map_Functor _map_owner( fun );
_map_owner.insert(make_pair( "Deutschland","Germany") );
_map_owner.insert(make_pair( "deutsch","German") );
_map_owner.insert(make_pair( "Haken","snag") );
_map_owner.insert(make_pair( "deutschland","enterprise") );
for (map_Functor::iterator iterPos =_map_owner.begin();iterPos !=_map_owner.end();++ iterPos )
{
cout<<"first :"<<iterPos->first<<" second:"<<iterPos->second<<"\n";
}
system("pause");
return0;
}
输出结果:
first :deutsch second:German
first:Deutschland second:Germany
first :Haken second:snag
- 算法库(五)
- contiki系统分析五:算法库
- 算法五
- 算法五
- <五大经典算法> 五、分治算法
- 五大算法---分治算法
- 五大算法:分治算法
- 排序算法五例
- 排序算法五例
- 排序算法五例
- 排序算法五例
- 排序算法五例
- 排序算法五例
- 算法学习(五)---队列
- 五道算法题
- 算法面试题五
- 《五种算法以后》
- 五 STL算法概述
- 显示更多 UITabView
- 经典兔子问题
- java常用包
- dom笔记1_控件的常用事件
- DP入门之采药问题
- 算法库(五)
- 字符组转译序列
- 关于函数调用中的const参数
- HSSF
- C++判断JSON字符串的合法性
- 算法库(六)
- OpenCV码源笔记——tree_engine(CvDTree,CvBoost,CvRTrees,CvERTrees,CvGBTrees)
- 私有IP
- MFC 文本框