算法库(一)

 1.      max_element:返回键值最大的元素

2.       min_element: 返回键值最小的元素

3.       sort:以升序排序

4.       copy:复制元素

5.       reverse:反转元素

6.       find:查找元素

class TestClass

{

public:

         //constructionfuction

         TestClass(){

                   reset();

         }

         voidreset()

         {

                   m_iNo = 0;

                   m_strName = "";

                   m_strSex = "";

         }

 

         TestClass( inti_NO,string str_name,string str_sex ):m_iNo( i_NO ),m_strSex(str_sex),m_strName( str_name ){}

 

         voidsetValue(const TestClass& tc )

         {

                   m_iNo = tc.m_iNo;

                   m_strSex = tc.m_strSex;

                   m_strName = tc.m_strName;

         }

         TestClass( constTestClass& tc )

         {

                   setValue( tc );

         }

        

         //assignoperator

         TestClass& operator=(const TestClass& tc )

         {

                   setValue( tc );

                   return*this;

         }

         //compare fuction

         booloperator<( constTestClass& tc )

         {

                   returnm_iNo < tc.m_iNo;

         }

         //printfriend fuction

         friendostream&operator<<( ostream&output,const TestClass& ts );

private:

         int              m_iNo;

         string         m_strName;

         string         m_strSex;

};

 

ostream& operator<<( ostream& output,const TestClass& tc )

{

         output<<"m_iNo"<<tc.m_iNo<<"\nm_strName"<<tc.m_strName<<"\nm_strSex"<<tc.m_strSex<<"\n";

         returnoutput;

}

 

int main()

{

         vector<TestClass> vecTc;

         TestClass tc1( 10011,"??¢?","D" );

         vecTc.push_back( tc1 );

 

         TestClass tc2( 10012,"¢?Ì?a","D" );

         vecTc.push_back( tc2 );

 

         TestClass tc3( 10006,"?¡ì®?","D" );

         vecTc.push_back( tc3 );

 

         TestClass tc4( 10002,"¨´??","D" );

         vecTc.push_back( tc4 );

 

         cout<<"printvector<TestClass> member\n";

         copy(vecTc.begin(),vecTc.end(),ostream_iterator<TestClass>( cout,"\n" ));

 

         vector<TestClass>::const_iteratormax_cIter = max_element( vecTc.begin(),vecTc.end() );

         cout<<"printvector<TestClass> max_member"<<"\n";

         if (max_cIter != vecTc.end() )

         {

                   cout<<*max_cIter<<"\n";

         }

 

         vector<TestClass>::const_iteratormin_cIter = min_element( vecTc.begin(),vecTc.end() );

         cout<<"printvector<TestClass> min_member"<<"\n";

         if (min_cIter != vecTc.end() )

         {

                   cout<<*min_cIter<<"\n";

         }

 

         TestClass cls( 10006,"aº?","?" );

         vector<TestClass>::const_iteratorcIter = find( vecTc.begin(),vecTc.end());

         if (cIter != vecTc.end() )

         {

                   cout<<"find element"<<"\n";

         }

         sort( vecTc.begin(),vecTc.end() );

         cout<<"printvector<TestClass> member"<<"\n";

         copy(vecTc.begin(),vecTc.end(),ostream_iterator<TestClass>( cout,"\n" ));

 

         reverse( vecTc.begin(),vecTc.end() );

         cout<<"printvector<TestClass> member"<<"\n";

         copy(vecTc.begin(),vecTc.end(),ostream_iterator<TestClass>( cout,"\n" ));

         system("pause");

         return0;

}

 

输出结果:

 

print vector<TestClass> member

m_iNo10011

m_strName袁孙良

m_strSex男

 

m_iNo10012

m_strName刘德华

m_strSex男

 

m_iNo10006

m_strName张学友

m_strSex男

 

m_iNo10002

m_strName郭富城

m_strSex男

 

print vector<TestClass> max_member

m_iNo10012

m_strName刘德华

m_strSex男

 

print vector<TestClass> min_member

m_iNo10002

m_strName郭富城

m_strSex男

 

find element

print vector<TestClass> member

m_iNo10002

m_strName郭富城

m_strSex男

 

m_iNo10006

m_strName张学友

m_strSex男

 

m_iNo10011

m_strName袁孙良

m_strSex男

 

m_iNo10012

m_strName刘德华

m_strSex男

 

print vector<TestClass> member

m_iNo10012

m_strName刘德华

m_strSex男

 

m_iNo10011

m_strName袁孙良

m_strSex男

 

m_iNo10006

m_strName张学友

m_strSex男

 

m_iNo10002

m_strName郭富城

m_strSex男

 

请按任意键继续. . .

 


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值